A version of JEP which can work over an arbitary group. This version of jep changes the behaviour of the arithmetic and the comparative operations according to the group operations. These group operations are specified by objects which implement GroupI or one of its decendants like RingI or HasPowerI. There are various example groups which can be used: arbitrary-precision integers, arbitrary-precision rationals, integers mod n, reals with a fixed precision.

Typically it is used like

import org.lsmp.djep.rationalJep.*;
import org.lsmp.djep.rationalJep.groups.*;
....
GroupI group = new Rationals();
JEP j = new GroupJep(group);
....
See the groups package for the different types of group which can be used.

Sub-packages
org.lsmp.djep.groupJep.function Functions for basic operators +,-,* in GroupJep
org.lsmp.djep.groupJep.groups Various pre-defined groups.
org.lsmp.djep.groupJep.interfaces Interfaces defining ring, field and other group structures.
org.lsmp.djep.groupJep.values Objects representing elements of groups.
@see GroupJep documentation