org.hipparchus

## Interface FieldElement<T extends FieldElement<T>>

• ### Method Summary

All Methods
Modifier and Type Method and Description
T add(T a)
Compute this + a.
T divide(T a)
Compute this ÷ a.
Field<T> getField()
Get the Field to which the instance belongs.
double getReal()
Get the real value of the number.
default boolean isZero()
Check if an element is semantically equal to zero.
T multiply(int n)
Compute n × this.
T multiply(T a)
Compute this × a.
T negate()
Returns the additive inverse of this element.
T reciprocal()
Returns the multiplicative inverse of this element.
T subtract(T a)
Compute this - a.
• ### Method Detail

• #### getReal

double getReal()
Get the real value of the number.
Returns:
real value

T add(T a)
throws NullArgumentException
Compute this + a.
Parameters:
a - element to add
Returns:
a new element representing this + a
Throws:
NullArgumentException - if a is null.
• #### subtract

T subtract(T a)
throws NullArgumentException
Compute this - a.
Parameters:
a - element to subtract
Returns:
a new element representing this - a
Throws:
NullArgumentException - if a is null.
• #### negate

T negate()
Returns the additive inverse of this element.
Returns:
the opposite of this.
• #### multiply

T multiply(int n)
Compute n × this. Multiplication by an integer number is defined as the following sum
n × this = ∑i=1n this.
Parameters:
n - Number of times this must be added to itself.
Returns:
A new element representing n × this.
• #### multiply

T multiply(T a)
throws NullArgumentException
Compute this × a.
Parameters:
a - element to multiply
Returns:
a new element representing this × a
Throws:
NullArgumentException - if a is null.
• #### divide

T divide(T a)
throws NullArgumentException,
MathRuntimeException
Compute this ÷ a.
Parameters:
a - element to divide by
Returns:
a new element representing this ÷ a
Throws:
NullArgumentException - if a is null.
MathRuntimeException - if a is zero
• #### reciprocal

T reciprocal()
throws MathRuntimeException
Returns the multiplicative inverse of this element.
Returns:
the inverse of this.
Throws:
MathRuntimeException - if this is zero
• #### isZero

default boolean isZero()
Check if an element is semantically equal to zero.

The default implementation simply calls equals(getField().getZero()). However, this may need to be overridden in some cases as due to compatibility with hashCode() some classes implements equals(Object) in such a way that -0.0 and +0.0 are different, which may be a problem. It prevents for example identifying a diagonal element is zero and should be avoided when doing partial pivoting in LU decomposition.

Returns:
true if the element is semantically equal to zero
Since:
1.8