Package dev.nm.algebra.structure
Interface Field<F>
 Type Parameters:
F
 a field
 All Superinterfaces:
AbelianGroup<F>
,Monoid<F>
,Ring<F>
 All Known Implementing Classes:
Complex
,Real
,VariancebtX
As an algebraic structure, every field is a ring, but not every ring is a field.
That is, it has the notion of addition, subtraction, multiplication, satisfying certain axioms.
The most important difference is that a field allows for division (though not division by zero),
while a ring may not possess a multiplicative inverse.
In addition, the multiplication operation in a field is required to be commutative.
 See Also:

Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic class
This is the exception thrown when the inverse of a field element does not exist. 
Method Summary
Methods inherited from interface dev.nm.algebra.structure.AbelianGroup
add, minus, opposite, ZERO

Method Details

inverse
For each a in F, there exists an element b in F such that a × b = b × a = 1. That is, it is the object such asthis.multiply(this.inverse()) == this.ONE
 Returns:
 1 / this if it exists
 Throws:
Field.InverseNonExistent
 if the inverse does not exist See Also:

divide
/ : F × F → FThat is the same as
this.multiply(that.inverse())
 Parameters:
that
 the denominator Returns:
 this / that
 Throws:
Field.InverseNonExistent
 if the inverse does not exist
