Package dev.civl.sarl.ideal.IF


package dev.civl.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

invalid reference
dev.civl.sarl.ideal.common
.

Package {dev.civl.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 polynomial
  • PrimitivePower. 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.

  • Class
    Description
    A constant, i.e., a concrete number.
    Entry point for the ideal module, providing static methods to create an IdealFactory and a
    invalid reference
    SimplifierFactory
    .
    An IdealFactory provides a few services beyond those guaranteed by an arbitrary NumericExpressionFactory.
    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 Monomial is the product of a constant and a Monic.
    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.
    A power of a Primitive expression, xi, where x is a Primitive and i is a concrete positive int.
    A RationalExpression is the quotient of two Monomials of real type.