Package org.hipparchus.util
Class FieldTuple<T extends RealFieldElement<T>>
- java.lang.Object
-
- org.hipparchus.util.FieldTuple<T>
-
- Type Parameters:
T- the type of the field elements
- All Implemented Interfaces:
FieldElement<FieldTuple<T>>,RealFieldElement<FieldTuple<T>>
public class FieldTuple<T extends RealFieldElement<T>> extends Object implements RealFieldElement<FieldTuple<T>>
This class allows to perform the same computation of all components of a Tuple at once.- Since:
- 1.2
-
-
Constructor Summary
Constructors Constructor Description FieldTuple(T... x)Creates a new instance from its components.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FieldTuple<T>abs()absolute value.FieldTuple<T>acos()Arc cosine operation.FieldTuple<T>acosh()Inverse hyperbolic cosine operation.FieldTuple<T>add(double a)'+' operator.FieldTuple<T>add(FieldTuple<T> a)Compute this + a.FieldTuple<T>asin()Arc sine operation.FieldTuple<T>asinh()Inverse hyperbolic sine operation.FieldTuple<T>atan()Arc tangent operation.FieldTuple<T>atan2(FieldTuple<T> x)Two arguments arc tangent operation.FieldTuple<T>atanh()Inverse hyperbolic tangent operation.FieldTuple<T>cbrt()Cubic root.FieldTuple<T>ceil()Get the smallest whole number larger than instance.FieldTuple<T>copySign(double sign)Returns the instance with the sign of the argument.FieldTuple<T>copySign(FieldTuple<T> sign)Returns the instance with the sign of the argument.FieldTuple<T>cos()Cosine operation.FieldTuple<T>cosh()Hyperbolic cosine operation.FieldTuple<T>divide(double a)'÷' operator.FieldTuple<T>divide(FieldTuple<T> a)Compute this ÷ a.booleanequals(Object obj)FieldTuple<T>exp()Exponential.FieldTuple<T>expm1()Exponential minus 1.FieldTuple<T>floor()Get the largest whole number smaller than instance.TgetComponent(int index)Get one component of the tuple.T[]getComponents()Get all components of the tuple.intgetDimension()Get the dimension of the tuple.Field<FieldTuple<T>>getField()Get theFieldto which the instance belongs.doublegetReal()Get the real value of the number.inthashCode()FieldTuple<T>hypot(FieldTuple<T> y)Returns the hypotenuse of a triangle with sidesthisandy- sqrt(this2 +y2) avoiding intermediate overflow or underflow.FieldTuple<T>linearCombination(double[] a, FieldTuple<T>[] b)Compute a linear combination.FieldTuple<T>linearCombination(double a1, FieldTuple<T> b1, double a2, FieldTuple<T> b2)Compute a linear combination.FieldTuple<T>linearCombination(double a1, FieldTuple<T> b1, double a2, FieldTuple<T> b2, double a3, FieldTuple<T> b3)Compute a linear combination.FieldTuple<T>linearCombination(double a1, FieldTuple<T> b1, double a2, FieldTuple<T> b2, double a3, FieldTuple<T> b3, double a4, FieldTuple<T> b4)Compute a linear combination.FieldTuple<T>linearCombination(FieldTuple<T>[] a, FieldTuple<T>[] b)Compute a linear combination.FieldTuple<T>linearCombination(FieldTuple<T> a1, FieldTuple<T> b1, FieldTuple<T> a2, FieldTuple<T> b2)Compute a linear combination.FieldTuple<T>linearCombination(FieldTuple<T> a1, FieldTuple<T> b1, FieldTuple<T> a2, FieldTuple<T> b2, FieldTuple<T> a3, FieldTuple<T> b3)Compute a linear combination.FieldTuple<T>linearCombination(FieldTuple<T> a1, FieldTuple<T> b1, FieldTuple<T> a2, FieldTuple<T> b2, FieldTuple<T> a3, FieldTuple<T> b3, FieldTuple<T> a4, FieldTuple<T> b4)Compute a linear combination.FieldTuple<T>log()Natural logarithm.FieldTuple<T>log10()Base 10 logarithm.FieldTuple<T>log1p()Shifted natural logarithm.FieldTuple<T>multiply(double a)'×' operator.FieldTuple<T>multiply(int n)Compute n × this.FieldTuple<T>multiply(FieldTuple<T> a)Compute this × a.FieldTuple<T>negate()Returns the additive inverse ofthiselement.FieldTuple<T>pow(double p)Power operation.FieldTuple<T>pow(int n)Integer power operation.FieldTuple<T>pow(FieldTuple<T> e)Power operation.FieldTuple<T>reciprocal()Returns the multiplicative inverse ofthiselement.FieldTuple<T>remainder(double a)IEEE remainder operator.FieldTuple<T>remainder(FieldTuple<T> a)IEEE remainder operator.FieldTuple<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.FieldTuple<T>rootN(int n)Nth root.longround()Get the closest long to instance value.FieldTuple<T>scalb(int n)Multiply the instance by a power of 2.FieldTuple<T>signum()Compute the signum of the instance.FieldTuple<T>sin()Sine operation.FieldSinCos<FieldTuple<T>>sinCos()Combined Sine and Cosine operation.FieldTuple<T>sinh()Hyperbolic sine operation.FieldTuple<T>sqrt()Square root.FieldTuple<T>subtract(double a)'-' operator.FieldTuple<T>subtract(FieldTuple<T> a)Compute this - a.FieldTuple<T>tan()Tangent operation.FieldTuple<T>tanh()Hyperbolic tangent operation.
-
-
-
Constructor Detail
-
FieldTuple
@SafeVarargs public FieldTuple(T... x)
Creates a new instance from its components.- Parameters:
x- components of the tuple
-
-
Method Detail
-
getDimension
public int getDimension()
Get the dimension of the tuple.- Returns:
- dimension of the tuple
-
getComponent
public T getComponent(int index)
Get one component of the tuple.- Parameters:
index- index of the component, between 0 andgetDimension()- 1- Returns:
- value of the component
-
getComponents
public T[] getComponents()
Get all components of the tuple.- Returns:
- all components
-
getField
public Field<FieldTuple<T>> getField()
Get theFieldto which the instance belongs.- Specified by:
getFieldin interfaceFieldElement<T extends RealFieldElement<T>>- Returns:
Fieldto which the instance belongs
-
add
public FieldTuple<T> add(FieldTuple<T> a)
Compute this + a.- Specified by:
addin interfaceFieldElement<T extends RealFieldElement<T>>- Parameters:
a- element to add- Returns:
- a new element representing this + a
-
subtract
public FieldTuple<T> subtract(FieldTuple<T> a)
Compute this - a.- Specified by:
subtractin interfaceFieldElement<T extends RealFieldElement<T>>- Parameters:
a- element to subtract- Returns:
- a new element representing this - a
-
negate
public FieldTuple<T> negate()
Returns the additive inverse ofthiselement.- Specified by:
negatein interfaceFieldElement<T extends RealFieldElement<T>>- Returns:
- the opposite of
this.
-
multiply
public FieldTuple<T> multiply(FieldTuple<T> a)
Compute this × a.- Specified by:
multiplyin interfaceFieldElement<T extends RealFieldElement<T>>- Parameters:
a- element to multiply- Returns:
- a new element representing this × a
-
multiply
public FieldTuple<T> multiply(int n)
Compute n × this. Multiplication by an integer number is defined as the following sumn × this = ∑i=1n this. - Specified by:
multiplyin interfaceFieldElement<T extends RealFieldElement<T>>- Parameters:
n- Number of timesthismust be added to itself.- Returns:
- A new element representing n × this.
-
divide
public FieldTuple<T> divide(FieldTuple<T> a)
Compute this ÷ a.- Specified by:
dividein interfaceFieldElement<T extends RealFieldElement<T>>- Parameters:
a- element to divide by- Returns:
- a new element representing this ÷ a
-
reciprocal
public FieldTuple<T> reciprocal()
Returns the multiplicative inverse ofthiselement.- Specified by:
reciprocalin interfaceFieldElement<T extends RealFieldElement<T>>- Specified by:
reciprocalin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- the inverse of
this.
-
getReal
public double getReal()
Get the real value of the number.- Specified by:
getRealin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- real value
-
add
public FieldTuple<T> add(double a)
'+' operator.- Specified by:
addin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
a- right hand side parameter of the operator- Returns:
- this+a
-
subtract
public FieldTuple<T> subtract(double a)
'-' operator.- Specified by:
subtractin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
a- right hand side parameter of the operator- Returns:
- this-a
-
multiply
public FieldTuple<T> multiply(double a)
'×' operator.- Specified by:
multiplyin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
a- right hand side parameter of the operator- Returns:
- this×a
-
divide
public FieldTuple<T> divide(double a)
'÷' operator.- Specified by:
dividein interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
a- right hand side parameter of the operator- Returns:
- this÷a
-
remainder
public FieldTuple<T> remainder(double a)
IEEE remainder operator.- Specified by:
remainderin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
a- right hand side parameter of the operator- Returns:
- this - n × a where n is the closest integer to this/a (the even integer is chosen for n if this/a is halfway between two integers)
-
remainder
public FieldTuple<T> remainder(FieldTuple<T> a)
IEEE remainder operator.- Specified by:
remainderin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
a- right hand side parameter of the operator- Returns:
- this - n × a where n is the closest integer to this/a (the even integer is chosen for n if this/a is halfway between two integers)
-
abs
public FieldTuple<T> abs()
absolute value.- Specified by:
absin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- abs(this)
-
ceil
public FieldTuple<T> ceil()
Get the smallest whole number larger than instance.- Specified by:
ceilin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- ceil(this)
-
floor
public FieldTuple<T> floor()
Get the largest whole number smaller than instance.- Specified by:
floorin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- floor(this)
-
rint
public FieldTuple<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.- Specified by:
rintin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- a double number r such that r is an integer r - 0.5 ≤ this ≤ r + 0.5
-
round
public long round()
Get the closest long to instance value.- Specified by:
roundin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- closest long to
RealFieldElement.getReal()
-
signum
public FieldTuple<T> signum()
Compute the signum of the instance. The signum is -1 for negative numbers, +1 for positive numbers and 0 otherwise- Specified by:
signumin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- -1.0, -0.0, +0.0, +1.0 or NaN depending on sign of a
-
copySign
public FieldTuple<T> copySign(FieldTuple<T> sign)
Returns the instance with the sign of the argument. A NaNsignargument is treated as positive.- Specified by:
copySignin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
sign- the sign for the returned value- Returns:
- the instance with the same sign as the
signargument
-
copySign
public FieldTuple<T> copySign(double sign)
Returns the instance with the sign of the argument. A NaNsignargument is treated as positive.- Specified by:
copySignin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
sign- the sign for the returned value- Returns:
- the instance with the same sign as the
signargument
-
scalb
public FieldTuple<T> scalb(int n)
Multiply the instance by a power of 2.- Specified by:
scalbin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
n- power of 2- Returns:
- this × 2n
-
hypot
public FieldTuple<T> hypot(FieldTuple<T> y)
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.
- Specified by:
hypotin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
y- a value- Returns:
- sqrt(this2 +y2)
-
sqrt
public FieldTuple<T> sqrt()
Square root.- Specified by:
sqrtin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- square root of the instance
-
cbrt
public FieldTuple<T> cbrt()
Cubic root.- Specified by:
cbrtin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- cubic root of the instance
-
rootN
public FieldTuple<T> rootN(int n)
Nth root.- Specified by:
rootNin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
n- order of the root- Returns:
- nth root of the instance
-
pow
public FieldTuple<T> pow(double p)
Power operation.- Specified by:
powin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
p- power to apply- Returns:
- thisp
-
pow
public FieldTuple<T> pow(int n)
Integer power operation.- Specified by:
powin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
n- power to apply- Returns:
- thisn
-
pow
public FieldTuple<T> pow(FieldTuple<T> e)
Power operation.- Specified by:
powin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
e- exponent- Returns:
- thise
-
exp
public FieldTuple<T> exp()
Exponential.- Specified by:
expin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- exponential of the instance
-
expm1
public FieldTuple<T> expm1()
Exponential minus 1.- Specified by:
expm1in interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- exponential minus one of the instance
-
log
public FieldTuple<T> log()
Natural logarithm.- Specified by:
login interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- logarithm of the instance
-
log1p
public FieldTuple<T> log1p()
Shifted natural logarithm.- Specified by:
log1pin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- logarithm of one plus the instance
-
log10
public FieldTuple<T> log10()
Base 10 logarithm.- Specified by:
log10in interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- base 10 logarithm of the instance
-
cos
public FieldTuple<T> cos()
Cosine operation.- Specified by:
cosin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- cos(this)
-
sin
public FieldTuple<T> sin()
Sine operation.- Specified by:
sinin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- sin(this)
-
sinCos
public FieldSinCos<FieldTuple<T>> sinCos()
Combined Sine and Cosine operation.- Specified by:
sinCosin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- [sin(this), cos(this)]
-
tan
public FieldTuple<T> tan()
Tangent operation.- Specified by:
tanin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- tan(this)
-
acos
public FieldTuple<T> acos()
Arc cosine operation.- Specified by:
acosin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- acos(this)
-
asin
public FieldTuple<T> asin()
Arc sine operation.- Specified by:
asinin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- asin(this)
-
atan
public FieldTuple<T> atan()
Arc tangent operation.- Specified by:
atanin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- atan(this)
-
atan2
public FieldTuple<T> atan2(FieldTuple<T> x)
Two arguments arc tangent operation.- Specified by:
atan2in interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
x- second argument of the arc tangent- Returns:
- atan2(this, x)
-
cosh
public FieldTuple<T> cosh()
Hyperbolic cosine operation.- Specified by:
coshin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- cosh(this)
-
sinh
public FieldTuple<T> sinh()
Hyperbolic sine operation.- Specified by:
sinhin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- sinh(this)
-
tanh
public FieldTuple<T> tanh()
Hyperbolic tangent operation.- Specified by:
tanhin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- tanh(this)
-
acosh
public FieldTuple<T> acosh()
Inverse hyperbolic cosine operation.- Specified by:
acoshin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- acosh(this)
-
asinh
public FieldTuple<T> asinh()
Inverse hyperbolic sine operation.- Specified by:
asinhin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- asin(this)
-
atanh
public FieldTuple<T> atanh()
Inverse hyperbolic tangent operation.- Specified by:
atanhin interfaceRealFieldElement<T extends RealFieldElement<T>>- Returns:
- atanh(this)
-
linearCombination
public FieldTuple<T> linearCombination(FieldTuple<T>[] a, FieldTuple<T>[] b) throws MathIllegalArgumentException
Compute a linear combination.- Specified by:
linearCombinationin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
a- Factors.b- Factors.- Returns:
Σi ai bi.- Throws:
MathIllegalArgumentException- if arrays dimensions don't match
-
linearCombination
public FieldTuple<T> linearCombination(double[] a, FieldTuple<T>[] b) throws MathIllegalArgumentException
Compute a linear combination.- Specified by:
linearCombinationin interfaceRealFieldElement<T extends RealFieldElement<T>>- Parameters:
a- Factors.b- Factors.- Returns:
Σi ai bi.- Throws:
MathIllegalArgumentException- if arrays dimensions don't match
-
linearCombination
public FieldTuple<T> linearCombination(FieldTuple<T> a1, FieldTuple<T> b1, FieldTuple<T> a2, FieldTuple<T> b2)
Compute a linear combination.- Specified by:
linearCombinationin interfaceRealFieldElement<T extends RealFieldElement<T>>- 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:
RealFieldElement.linearCombination(Object, Object, Object, Object, Object, Object),RealFieldElement.linearCombination(Object, Object, Object, Object, Object, Object, Object, Object)
-
linearCombination
public FieldTuple<T> linearCombination(double a1, FieldTuple<T> b1, double a2, FieldTuple<T> b2)
Compute a linear combination.- Specified by:
linearCombinationin interfaceRealFieldElement<T extends RealFieldElement<T>>- 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:
RealFieldElement.linearCombination(double, Object, double, Object, double, Object),RealFieldElement.linearCombination(double, Object, double, Object, double, Object, double, Object)
-
linearCombination
public FieldTuple<T> linearCombination(FieldTuple<T> a1, FieldTuple<T> b1, FieldTuple<T> a2, FieldTuple<T> b2, FieldTuple<T> a3, FieldTuple<T> b3)
Compute a linear combination.- Specified by:
linearCombinationin interfaceRealFieldElement<T extends RealFieldElement<T>>- 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:
RealFieldElement.linearCombination(Object, Object, Object, Object),RealFieldElement.linearCombination(Object, Object, Object, Object, Object, Object, Object, Object)
-
linearCombination
public FieldTuple<T> linearCombination(double a1, FieldTuple<T> b1, double a2, FieldTuple<T> b2, double a3, FieldTuple<T> b3)
Compute a linear combination.- Specified by:
linearCombinationin interfaceRealFieldElement<T extends RealFieldElement<T>>- 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:
RealFieldElement.linearCombination(double, Object, double, Object),RealFieldElement.linearCombination(double, Object, double, Object, double, Object, double, Object)
-
linearCombination
public FieldTuple<T> linearCombination(FieldTuple<T> a1, FieldTuple<T> b1, FieldTuple<T> a2, FieldTuple<T> b2, FieldTuple<T> a3, FieldTuple<T> b3, FieldTuple<T> a4, FieldTuple<T> b4)
Compute a linear combination.- Specified by:
linearCombinationin interfaceRealFieldElement<T extends RealFieldElement<T>>- 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:
RealFieldElement.linearCombination(Object, Object, Object, Object),RealFieldElement.linearCombination(Object, Object, Object, Object, Object, Object)
-
linearCombination
public FieldTuple<T> linearCombination(double a1, FieldTuple<T> b1, double a2, FieldTuple<T> b2, double a3, FieldTuple<T> b3, double a4, FieldTuple<T> b4)
Compute a linear combination.- Specified by:
linearCombinationin interfaceRealFieldElement<T extends RealFieldElement<T>>- 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:
RealFieldElement.linearCombination(double, Object, double, Object),RealFieldElement.linearCombination(double, Object, double, Object, double, Object)
-
-