Package edu.udel.cis.vsl.sarl.ideal.common
package edu.udel.cis.vsl.sarl.ideal.common
Implementation classes for the ideal2 module.
There are classes with names beginning with "NT" (e.g.,
NTConstant
). The "NT" stands for
"non-trivial". See the documentation for each class for the interpretation of
non-trivial, but in general the interpretation is that an element of that
class cannot be represented an an element of a "simpler" class. For example,
a non-trivial primitive power is a power of a primitive in which the exponent
is at least 2, as such an element cannot be represented as a primitive. (In
contrast, a primitive power with exponent 1 is equivalent to the primitive
power.) The idea is to have a canonical representation of each element.
Most of the arithmetic logic is contained in the class
CommonIdealFactory
. A number of
additional utility classes are defined simply to help the factory (e.g.,
MonomialAdder
,
MonomialDivider
, etc.).-
ClassesClassDescriptionAn implementation of
IdealFactory
.Comparator for ideal numeric expressions.ASymbolicConstant
which is also aPrimitive
.AComparator
onMonic
s.A constant which is not 1.A non-trivial monic ("NTMonic") is the product of at least twoPrimitivePower
s.AnNTPolynomial
("non-trivial polynomial") is the sum of at least 2Monomial
s with different underlying monics, e.g., 1+x 2, x+y, or x+xy.A non-trivial primitive power represents aPrimitive
expression raised to some concrete integer exponent; the exponent is at least 2.A nontrivialRationalExpression
.A numeric primitive expression---one which is to be considered as an atomic "variable" when used in other numeric expressions.Empty monic: equivalent to 1.