Package edu.udel.cis.vsl.sarl.ideal.IF
The ideal module supports reasoning about numerical expressions using "ideal" mathematical reals and integers. In particular, addition and multiplication are commutative and associative, there are no finite bounds on these sets, there is no rounding, etc.
The entry point is Ideal2
.
That class provides static methods to get a new
Ideal2Factory
, an
implementation of
NumericExpressionFactory
. It also
provides a method to get a simplifier factory.
This package provides the interface for the ideal module. All code outside of this module should use only elements provided in this package.
The implementation classes for ideal symbolic expressions and their
arithmetic are in package edu.udel.cis.vsl.sarl.ideal.common
.
Package {edu.udel.cis.vsl.sarl.ideal2.simplify} contains the classes implementing a simplifier for ideal expressions.
The interfaces in this package define a simple hierarchy of numeric expressions:
Constant
. As you would expect, a constant is a concrete number, like "5" or "3.1415".Primitive
. A primitive is a numeric symbolic constant or any other expression which will not be decomposed and therefore plays the role of a single "variable" in a polynomialPrimitivePower
. A power of a primitive. Note that a primitive p is a primitive power, since it can be expressed as p^1.Monic
. A monic is a product of primitive powers. Note that a primitive power is a monic. The number "1" is also a monic: it is the empty monic (empty product).Monomial
. A monomial is a product of a constant and a monic. A monic is a monomial (with constant 1). A constant is a monomial (with empty monic).Polynomial
. A polynomial is the sum of monomials. It is also a primitive.RationalExpression
. A rational expression is the quotient of two monomials. A monomial is a rational expressions (with denominator 1). A rational expression must have real type. All expressions of integer type are monomials.
-
ClassDescriptionA constant, i.e., a concrete number.Entry point for the ideal module, providing static methods to create an
IdealFactory
and aSimplifierFactory
.AnIdealFactory
provides a few services beyond those guaranteed by an arbitraryNumericExpressionFactory
.A Monic is a product of powers of primitive expressions x1i 1*...*xnin, where the x i are primitives and the ij are positive concrete ints.A polynomial: an expression which is the sum of monomials.A numeric primitive expression, e.g., a symbolic constant of numeric type, an array read expression of numeric type, or a tuple read expression of numeric type.ARationalExpression
is the quotient of twoMonomial
s of real type.