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.boolean
equals(Object obj)
FieldTuple<T>
exp()
Exponential.FieldTuple<T>
expm1()
Exponential minus 1.FieldTuple<T>
floor()
Get the largest whole number smaller than instance.T
getComponent(int index)
Get one component of the tuple.T[]
getComponents()
Get all components of the tuple.int
getDimension()
Get the dimension of the tuple.Field<FieldTuple<T>>
getField()
Get theField
to which the instance belongs.double
getReal()
Get the real value of the number.int
hashCode()
FieldTuple<T>
hypot(FieldTuple<T> y)
Returns the hypotenuse of a triangle with sidesthis
andy
- 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 ofthis
element.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 ofthis
element.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.long
round()
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 theField
to which the instance belongs.- Specified by:
getField
in interfaceFieldElement<T extends RealFieldElement<T>>
- Returns:
Field
to which the instance belongs
-
add
public FieldTuple<T> add(FieldTuple<T> a)
Compute this + a.- Specified by:
add
in 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:
subtract
in 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 ofthis
element.- Specified by:
negate
in interfaceFieldElement<T extends RealFieldElement<T>>
- Returns:
- the opposite of
this
.
-
multiply
public FieldTuple<T> multiply(FieldTuple<T> a)
Compute this × a.- Specified by:
multiply
in 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:
multiply
in interfaceFieldElement<T extends RealFieldElement<T>>
- Parameters:
n
- Number of timesthis
must be added to itself.- Returns:
- A new element representing n × this.
-
divide
public FieldTuple<T> divide(FieldTuple<T> a)
Compute this ÷ a.- Specified by:
divide
in 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 ofthis
element.- Specified by:
reciprocal
in interfaceFieldElement<T extends RealFieldElement<T>>
- Specified by:
reciprocal
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- the inverse of
this
.
-
getReal
public double getReal()
Get the real value of the number.- Specified by:
getReal
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- real value
-
add
public FieldTuple<T> add(double a)
'+' operator.- Specified by:
add
in 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:
subtract
in 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:
multiply
in 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:
divide
in 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:
remainder
in 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:
remainder
in 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:
abs
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- abs(this)
-
ceil
public FieldTuple<T> ceil()
Get the smallest whole number larger than instance.- Specified by:
ceil
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- ceil(this)
-
floor
public FieldTuple<T> floor()
Get the largest whole number smaller than instance.- Specified by:
floor
in 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:
rint
in 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:
round
in 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:
signum
in 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 NaNsign
argument is treated as positive.- Specified by:
copySign
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Parameters:
sign
- the sign for the returned value- Returns:
- the instance with the same sign as the
sign
argument
-
copySign
public FieldTuple<T> copySign(double sign)
Returns the instance with the sign of the argument. A NaNsign
argument is treated as positive.- Specified by:
copySign
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Parameters:
sign
- the sign for the returned value- Returns:
- the instance with the same sign as the
sign
argument
-
scalb
public FieldTuple<T> scalb(int n)
Multiply the instance by a power of 2.- Specified by:
scalb
in 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 sidesthis
andy
- 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:
hypot
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Parameters:
y
- a value- Returns:
- sqrt(this2 +y2)
-
sqrt
public FieldTuple<T> sqrt()
Square root.- Specified by:
sqrt
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- square root of the instance
-
cbrt
public FieldTuple<T> cbrt()
Cubic root.- Specified by:
cbrt
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- cubic root of the instance
-
rootN
public FieldTuple<T> rootN(int n)
Nth root.- Specified by:
rootN
in 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:
pow
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Parameters:
p
- power to apply- Returns:
- thisp
-
pow
public FieldTuple<T> pow(int n)
Integer power operation.- Specified by:
pow
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Parameters:
n
- power to apply- Returns:
- thisn
-
pow
public FieldTuple<T> pow(FieldTuple<T> e)
Power operation.- Specified by:
pow
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Parameters:
e
- exponent- Returns:
- thise
-
exp
public FieldTuple<T> exp()
Exponential.- Specified by:
exp
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- exponential of the instance
-
expm1
public FieldTuple<T> expm1()
Exponential minus 1.- Specified by:
expm1
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- exponential minus one of the instance
-
log
public FieldTuple<T> log()
Natural logarithm.- Specified by:
log
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- logarithm of the instance
-
log1p
public FieldTuple<T> log1p()
Shifted natural logarithm.- Specified by:
log1p
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- logarithm of one plus the instance
-
log10
public FieldTuple<T> log10()
Base 10 logarithm.- Specified by:
log10
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- base 10 logarithm of the instance
-
cos
public FieldTuple<T> cos()
Cosine operation.- Specified by:
cos
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- cos(this)
-
sin
public FieldTuple<T> sin()
Sine operation.- Specified by:
sin
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- sin(this)
-
sinCos
public FieldSinCos<FieldTuple<T>> sinCos()
Combined Sine and Cosine operation.- Specified by:
sinCos
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- [sin(this), cos(this)]
-
tan
public FieldTuple<T> tan()
Tangent operation.- Specified by:
tan
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- tan(this)
-
acos
public FieldTuple<T> acos()
Arc cosine operation.- Specified by:
acos
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- acos(this)
-
asin
public FieldTuple<T> asin()
Arc sine operation.- Specified by:
asin
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- asin(this)
-
atan
public FieldTuple<T> atan()
Arc tangent operation.- Specified by:
atan
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- atan(this)
-
atan2
public FieldTuple<T> atan2(FieldTuple<T> x)
Two arguments arc tangent operation.- Specified by:
atan2
in 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:
cosh
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- cosh(this)
-
sinh
public FieldTuple<T> sinh()
Hyperbolic sine operation.- Specified by:
sinh
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- sinh(this)
-
tanh
public FieldTuple<T> tanh()
Hyperbolic tangent operation.- Specified by:
tanh
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- tanh(this)
-
acosh
public FieldTuple<T> acosh()
Inverse hyperbolic cosine operation.- Specified by:
acosh
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- acosh(this)
-
asinh
public FieldTuple<T> asinh()
Inverse hyperbolic sine operation.- Specified by:
asinh
in interfaceRealFieldElement<T extends RealFieldElement<T>>
- Returns:
- asin(this)
-
atanh
public FieldTuple<T> atanh()
Inverse hyperbolic tangent operation.- Specified by:
atanh
in 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:
linearCombination
in 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:
linearCombination
in 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:
linearCombination
in 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:
linearCombination
in 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:
linearCombination
in 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:
linearCombination
in 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:
linearCombination
in 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:
linearCombination
in 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)
-
-