Package org.jscience.mathematics.structure

Provides mathematical sets (identified by the class parameter) associated to binary operations, such as multiplication or addition, satisfying certain axioms.

For example, Real is a Field<Real>, but LargeInteger is only a Ring<LargeInteger> as its elements do not have multiplicative inverse (except for one).

To implement a structure means not only that some operations are now available but also that some properties (such as associativity and distributivity) must be verified. For example, the declaration: [code]class Quaternions implements Field[/code] Indicates that addition (+), multiplication (·) and their respective inverses are automatically defined for Quaternions objects; but also that (·) is distributive over (+), both operations (+) and (·) are associative and (+) is commutative.