Interface CalculusFieldElement<T extends FieldElement<T>>
-
- Type Parameters:
T- the type of the field elements
- All Superinterfaces:
FieldElement<T>
- All Known Subinterfaces:
Derivative<T>,Derivative1<T>,FieldDerivative<S,T>,FieldDerivative1<S,T>
- All Known Implementing Classes:
Binary64,Complex,DerivativeStructure,Dfp,DfpDec,FieldComplex,FieldDerivativeStructure,FieldGradient,FieldTuple,FieldUnivariateDerivative,FieldUnivariateDerivative1,FieldUnivariateDerivative2,Gradient,SparseGradient,Tuple,UnivariateDerivative,UnivariateDerivative1,UnivariateDerivative2
public interface CalculusFieldElement<T extends FieldElement<T>> extends FieldElement<T>
Interface representing a field with calculus capabilities (sin, cos, ...).- Since:
- 1.7
- See Also:
FieldElement
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Tabs()absolute value.Tacos()Arc cosine operation.Tacosh()Inverse hyperbolic cosine operation.default Tadd(double a)'+' operator.Tasin()Arc sine operation.Tasinh()Inverse hyperbolic sine operation.Tatan()Arc tangent operation.Tatan2(T x)Two arguments arc tangent operation.Tatanh()Inverse hyperbolic tangent operation.default Tcbrt()Cubic root.default Tceil()Get the smallest whole number larger than instance.default TcopySign(double sign)Returns the instance with the sign of the argument.TcopySign(T sign)Returns the instance with the sign of the argument.Tcos()Cosine operation.Tcosh()Hyperbolic cosine operation.default Tdivide(double a)'÷' operator.default Tdivide(T a)Compute this ÷ a.Texp()Exponential.Texpm1()Exponential minus 1.default Tfloor()Get the largest whole number smaller than instance.TgetAddendum()Get the addendum to the real value of the number.default intgetExponent()Return the exponent of the instance, removing the bias.default TgetPi()Get the Archimedes constant π.Thypot(T y)Returns the hypotenuse of a triangle with sidesthisandy- sqrt(this2 +y2) avoiding intermediate overflow or underflow.default booleanisFinite()Check if the instance is finite (neither infinite nor NaN).default booleanisInfinite()Check if the instance is infinite.default booleanisNaN()Check if the instance is Not a Number.default TlinearCombination(double[] a, T[] b)Compute a linear combination.default TlinearCombination(double a1, T b1, double a2, T b2)Compute a linear combination.default TlinearCombination(double a1, T b1, double a2, T b2, double a3, T b3)Compute a linear combination.default TlinearCombination(double a1, T b1, double a2, T b2, double a3, T b3, double a4, T b4)Compute a linear combination.TlinearCombination(T[] a, T[] b)Compute a linear combination.TlinearCombination(T a1, T b1, T a2, T b2)Compute a linear combination.TlinearCombination(T a1, T b1, T a2, T b2, T a3, T b3)Compute a linear combination.TlinearCombination(T a1, T b1, T a2, T b2, T a3, T b3, T a4, T b4)Compute a linear combination.Tlog()Natural logarithm.Tlog10()Base 10 logarithm.Tlog1p()Shifted natural logarithm.default Tmultiply(double a)'×' operator.default Tmultiply(int n)Compute n × this.TnewInstance(double value)Create an instance corresponding to a constant real value.default doublenorm()norm.default Tpow(double p)Power operation.default Tpow(int n)Integer power operation.Tpow(T e)Power operation.Tremainder(double a)IEEE remainder operator.Tremainder(T a)IEEE remainder operator.default Trint()Get the whole number that is the nearest to the instance, or the even one if x is exactly half way between two integers.default TrootN(int n)Nth root.default longround()Get the closest long to instance real value.Tscalb(int n)Multiply the instance by a power of 2.default Tsign()Compute the sign of the instance.Tsin()Sine operation.default FieldSinCos<T>sinCos()Combined Sine and Cosine operation.Tsinh()Hyperbolic sine operation.default FieldSinhCosh<T>sinhCosh()Combined hyperbolic sine and cosine operation.default Tsqrt()Square root.default Tsquare()Compute this × this.default Tsubtract(double a)'-' operator.default Tsubtract(T a)Compute this - a.default Ttan()Tangent operation.default Ttanh()Hyperbolic tangent operation.default TtoDegrees()Convert radians to degrees, with error of less than 0.5 ULPdefault TtoRadians()Convert degrees to radians, with error of less than 0.5 ULPdefault Tulp()Compute least significant bit (Unit in Last Position) for a number.-
Methods inherited from interface org.hipparchus.FieldElement
add, getField, getReal, isZero, multiply, negate, reciprocal
-
-
-
-
Method Detail
-
getAddendum
T getAddendum()
Get the addendum to the real value of the number.The addendum is considered to be the part that when added back to the
real partrecovers the instance. This means that whene.getReal()is finite (i.e. neither infinite nor NaN), thene.getAddendum().add(e.getReal())iseande.subtract(e.getReal())ise.getAddendum(). Beware that for non-finite numbers, these two equalities may not hold. The first equality (with the addition), always holds even for infinity and NaNs if the real part is independent of the addendum (this is the case for all derivatives types, as well as for complex and Dfp, but it is not the case for Tuple and FieldTuple). The second equality (with the subtraction), generally doesn't hold for non-finite numbers, because the subtraction generates NaNs.- Returns:
- real value
- Since:
- 4.0
-
getPi
default T getPi()
Get the Archimedes constant π.Archimedes constant is the ratio of a circle's circumference to its diameter.
- Returns:
- Archimedes constant π
- Since:
- 2.0
-
newInstance
T newInstance(double value)
Create an instance corresponding to a constant real value.- Parameters:
value- constant real value- Returns:
- instance corresponding to a constant real value
-
add
default T add(double a)
'+' operator.- Parameters:
a- right hand side parameter of the operator- Returns:
- this+a
-
subtract
default T subtract(double a)
'-' operator.- Parameters:
a- right hand side parameter of the operator- Returns:
- this-a
-
subtract
default T subtract(T a)
Compute this - a.- Specified by:
subtractin interfaceFieldElement<T extends FieldElement<T>>- Parameters:
a- element to subtract- Returns:
- a new element representing this - a
-
multiply
default T multiply(double a)
'×' operator.- Parameters:
a- right hand side parameter of the operator- Returns:
- this×a
-
multiply
default T multiply(int n)
Compute n × this. Multiplication by an integer number is defined as the following sum \[ n \times \mathrm{this} = \sum_{i=1}^n \mathrm{this} \]- Specified by:
multiplyin interfaceFieldElement<T extends FieldElement<T>>- Parameters:
n- Number of timesthismust be added to itself.- Returns:
- A new element representing n × this.
-
divide
default T divide(double a)
'÷' operator.- Parameters:
a- right hand side parameter of the operator- Returns:
- this÷a
-
getExponent
default int getExponent()
Return the exponent of the instance, removing the bias.For double numbers of the form 2x, the unbiased exponent is exactly x.
- Returns:
- exponent for the instance, without bias
-
scalb
T scalb(int n)
Multiply the instance by a power of 2.- Parameters:
n- power of 2- Returns:
- this × 2n
-
ulp
default T ulp()
Compute least significant bit (Unit in Last Position) for a number.- Returns:
- ulp(this)
- Since:
- 2.0
-
hypot
T hypot(T y) throws MathIllegalArgumentException
Returns the hypotenuse of a triangle with sidesthisandy- sqrt(this2 +y2) avoiding intermediate overflow or underflow.- If either argument is infinite, then the result is positive infinity.
- else, if either argument is NaN then the result is NaN.
- Parameters:
y- a value- Returns:
- sqrt(this2 +y2)
- Throws:
MathIllegalArgumentException- if number of free parameters or orders are inconsistent
-
divide
default T divide(T a)
Compute this ÷ a.- Specified by:
dividein interfaceFieldElement<T extends FieldElement<T>>- Parameters:
a- element to divide by- Returns:
- a new element representing this ÷ a
-
sqrt
default T sqrt()
Square root.- Returns:
- square root of the instance
-
cbrt
default T cbrt()
Cubic root.- Returns:
- cubic root of the instance
-
rootN
default T rootN(int n)
Nth root.- Parameters:
n- order of the root- Returns:
- nth root of the instance
-
square
default T square()
Compute this × this.- Returns:
- a new element representing this × this
- Since:
- 3.1
-
pow
default T pow(double p)
Power operation.- Parameters:
p- power to apply- Returns:
- thisp
-
pow
default T pow(int n)
Integer power operation.- Parameters:
n- power to apply- Returns:
- thisn
-
pow
T pow(T e) throws MathIllegalArgumentException
Power operation.- Parameters:
e- exponent- Returns:
- thise
- Throws:
MathIllegalArgumentException- if number of free parameters or orders are inconsistent
-
exp
T exp()
Exponential.- Returns:
- exponential of the instance
-
expm1
T expm1()
Exponential minus 1.- Returns:
- exponential minus one of the instance
-
log
T log()
Natural logarithm.- Returns:
- logarithm of the instance
-
log1p
T log1p()
Shifted natural logarithm.- Returns:
- logarithm of one plus the instance
-
log10
T log10()
Base 10 logarithm.- Returns:
- base 10 logarithm of the instance
-
cos
T cos()
Cosine operation.- Returns:
- cos(this)
-
sin
T sin()
Sine operation.- Returns:
- sin(this)
-
sinCos
default FieldSinCos<T> sinCos()
Combined Sine and Cosine operation.- Returns:
- [sin(this), cos(this)]
- Since:
- 1.4
-
tan
default T tan()
Tangent operation.- Returns:
- tan(this)
-
acos
T acos()
Arc cosine operation.- Returns:
- acos(this)
-
asin
T asin()
Arc sine operation.- Returns:
- asin(this)
-
atan
T atan()
Arc tangent operation.- Returns:
- atan(this)
-
atan2
T atan2(T x) throws MathIllegalArgumentException
Two arguments arc tangent operation.Beware of the order or arguments! As this is based on a two-arguments functions, in order to be consistent with arguments order, the instance is the first argument and the single provided argument is the second argument. In order to be consistent with programming languages
atan2, this method computesatan2(this, x), i.e. the instance represents theyargument and thexargument is the one passed as a single argument. This may seem confusing especially for users of Wolfram alpha, as this site is not consistent with programming languagesatan2two-arguments arc tangent and putsxas its first argument.- Parameters:
x- second argument of the arc tangent- Returns:
- atan2(this, x)
- Throws:
MathIllegalArgumentException- if number of free parameters or orders are inconsistent
-
cosh
T cosh()
Hyperbolic cosine operation.- Returns:
- cosh(this)
-
sinh
T sinh()
Hyperbolic sine operation.- Returns:
- sinh(this)
-
sinhCosh
default FieldSinhCosh<T> sinhCosh()
Combined hyperbolic sine and cosine operation.- Returns:
- [sinh(this), cosh(this)]
- Since:
- 2.0
-
tanh
default T tanh()
Hyperbolic tangent operation.- Returns:
- tanh(this)
-
acosh
T acosh()
Inverse hyperbolic cosine operation.- Returns:
- acosh(this)
-
asinh
T asinh()
Inverse hyperbolic sine operation.- Returns:
- asin(this)
-
atanh
T atanh()
Inverse hyperbolic tangent operation.- Returns:
- atanh(this)
-
toDegrees
default T toDegrees()
Convert radians to degrees, with error of less than 0.5 ULP- Returns:
- instance converted into degrees
-
toRadians
default T toRadians()
Convert degrees to radians, with error of less than 0.5 ULP- Returns:
- instance converted into radians
-
linearCombination
T linearCombination(T[] a, T[] b) throws MathIllegalArgumentException
Compute a linear combination.- Parameters:
a- Factors.b- Factors.- Returns:
Σi ai bi.- Throws:
MathIllegalArgumentException- if arrays dimensions don't match
-
linearCombination
default T linearCombination(double[] a, T[] b) throws MathIllegalArgumentException
Compute a linear combination.- Parameters:
a- Factors.b- Factors.- Returns:
Σi ai bi.- Throws:
MathIllegalArgumentException- if arrays dimensions don't match
-
linearCombination
T linearCombination(T a1, T b1, T a2, T b2)
Compute a linear combination.- Parameters:
a1- first factor of the first termb1- second factor of the first terma2- first factor of the second termb2- second factor of the second term- Returns:
- a1×b1 + a2×b2
- See Also:
linearCombination(FieldElement, FieldElement, FieldElement, FieldElement, FieldElement, FieldElement),linearCombination(FieldElement, FieldElement, FieldElement, FieldElement, FieldElement, FieldElement, FieldElement, FieldElement)
-
linearCombination
default T linearCombination(double a1, T b1, double a2, T b2)
Compute a linear combination.- Parameters:
a1- first factor of the first termb1- second factor of the first terma2- first factor of the second termb2- second factor of the second term- Returns:
- a1×b1 + a2×b2
- See Also:
linearCombination(double, FieldElement, double, FieldElement, double, FieldElement),linearCombination(double, FieldElement, double, FieldElement, double, FieldElement, double, FieldElement)
-
linearCombination
T linearCombination(T a1, T b1, T a2, T b2, T a3, T b3)
Compute a linear combination.- Parameters:
a1- first factor of the first termb1- second factor of the first terma2- first factor of the second termb2- second factor of the second terma3- first factor of the third termb3- second factor of the third term- Returns:
- a1×b1 + a2×b2 + a3×b3
- See Also:
linearCombination(FieldElement, FieldElement, FieldElement, FieldElement),linearCombination(FieldElement, FieldElement, FieldElement, FieldElement, FieldElement, FieldElement, FieldElement, FieldElement)
-
linearCombination
default T linearCombination(double a1, T b1, double a2, T b2, double a3, T b3)
Compute a linear combination.- Parameters:
a1- first factor of the first termb1- second factor of the first terma2- first factor of the second termb2- second factor of the second terma3- first factor of the third termb3- second factor of the third term- Returns:
- a1×b1 + a2×b2 + a3×b3
- See Also:
linearCombination(double, FieldElement, double, FieldElement),linearCombination(double, FieldElement, double, FieldElement, double, FieldElement, double, FieldElement)
-
linearCombination
T linearCombination(T a1, T b1, T a2, T b2, T a3, T b3, T a4, T b4)
Compute a linear combination.- Parameters:
a1- first factor of the first termb1- second factor of the first terma2- first factor of the second termb2- second factor of the second terma3- first factor of the third termb3- second factor of the third terma4- first factor of the fourth termb4- second factor of the fourth term- Returns:
- a1×b1 + a2×b2 + a3×b3 + a4×b4
- See Also:
linearCombination(FieldElement, FieldElement, FieldElement, FieldElement),linearCombination(FieldElement, FieldElement, FieldElement, FieldElement, FieldElement, FieldElement)
-
linearCombination
default T linearCombination(double a1, T b1, double a2, T b2, double a3, T b3, double a4, T b4)
Compute a linear combination.- Parameters:
a1- first factor of the first termb1- second factor of the first terma2- first factor of the second termb2- second factor of the second terma3- first factor of the third termb3- second factor of the third terma4- first factor of the fourth termb4- second factor of the fourth term- Returns:
- a1×b1 + a2×b2 + a3×b3 + a4×b4
- See Also:
linearCombination(double, FieldElement, double, FieldElement),linearCombination(double, FieldElement, double, FieldElement, double, FieldElement)
-
ceil
default T ceil()
Get the smallest whole number larger than instance.- Returns:
- ceil(this)
-
floor
default T floor()
Get the largest whole number smaller than instance.- Returns:
- floor(this)
-
rint
default T rint()
Get the whole number that is the nearest to the instance, or the even one if x is exactly half way between two integers.- Returns:
- a double number r such that r is an integer r - 0.5 ≤ this ≤ r + 0.5
-
remainder
T remainder(double a)
IEEE remainder operator.- Parameters:
a- right hand side parameter of the operator- Returns:
- this - n × a where n is the closest integer to this/a
-
remainder
T remainder(T a)
IEEE remainder operator.- Parameters:
a- right hand side parameter of the operator- Returns:
- this - n × a where n is the closest integer to this/a
-
sign
default T sign()
Compute the sign of the instance. The sign is -1 for negative numbers, +1 for positive numbers and 0 otherwise, for Complex number, it is extended on the unit circle (equivalent to z/|z|, with special handling for 0 and NaN)- Returns:
- -1.0, -0.0, +0.0, +1.0 or NaN depending on sign of a
-
copySign
T copySign(T sign)
Returns the instance with the sign of the argument. A NaNsignargument is treated as positive.- Parameters:
sign- the sign for the returned value- Returns:
- the instance with the same sign as the
signargument
-
copySign
default T copySign(double sign)
Returns the instance with the sign of the argument. A NaNsignargument is treated as positive.- Parameters:
sign- the sign for the returned value- Returns:
- the instance with the same sign as the
signargument
-
isInfinite
default boolean isInfinite()
Check if the instance is infinite.- Returns:
- true if the instance is infinite
-
isFinite
default boolean isFinite()
Check if the instance is finite (neither infinite nor NaN).- Returns:
- true if the instance is finite (neither infinite nor NaN)
- Since:
- 2.0
-
isNaN
default boolean isNaN()
Check if the instance is Not a Number.- Returns:
- true if the instance is Not a Number
-
norm
default double norm()
norm.- Returns:
- norm(this)
- Since:
- 2.0
-
abs
T abs()
absolute value.- Returns:
- abs(this)
-
round
default long round()
Get the closest long to instance real value.- Returns:
- closest long to
FieldElement.getReal()
-
-