T
- the type of the function parameters and valuepublic class FieldGradient<T extends RealFieldElement<T>> extends Object implements FieldDerivative<T,FieldGradient<T>>
This class is a stripped-down version of FieldDerivativeStructure
with derivation order
limited to one.
It should have less overhead than FieldDerivativeStructure
in its domain.
This class is an implementation of Rall's numbers. Rall's numbers are an extension to the real numbers used throughout mathematical expressions; they hold the derivative together with the value of a function.
FieldGradient
instances can be used directly thanks to
the arithmetic operators to the mathematical functions provided as
methods by this class (+, -, *, /, %, sin, cos ...).
Implementing complex expressions by hand using these classes is a tedious and error-prone task but has the advantage of having no limitation on the derivation order despite not requiring users to compute the derivatives by themselves.
Instances of this class are guaranteed to be immutable.
DEG_TO_RAD, RAD_TO_DEG
Constructor and Description |
---|
FieldGradient(FieldDerivativeStructure<T> ds)
Build an instance from a
DerivativeStructure . |
FieldGradient(T value,
T... gradient)
Build an instance with values and derivative.
|
Modifier and Type | Method and Description |
---|---|
FieldGradient<T> |
abs()
absolute value.
|
FieldGradient<T> |
acos()
Arc cosine operation.
|
FieldGradient<T> |
acosh()
Inverse hyperbolic cosine operation.
|
FieldGradient<T> |
add(double a)
'+' operator.
|
FieldGradient<T> |
add(FieldGradient<T> a)
Compute this + a.
|
FieldGradient<T> |
add(T a)
'+' operator.
|
FieldGradient<T> |
asin()
Arc sine operation.
|
FieldGradient<T> |
asinh()
Inverse hyperbolic sine operation.
|
FieldGradient<T> |
atan()
Arc tangent operation.
|
FieldGradient<T> |
atan2(FieldGradient<T> x)
Two arguments arc tangent operation.
|
FieldGradient<T> |
atanh()
Inverse hyperbolic tangent operation.
|
FieldGradient<T> |
cbrt()
Cubic root.
|
FieldGradient<T> |
ceil()
Get the smallest whole number larger than instance.
|
FieldGradient<T> |
compose(T g0,
T g1)
Compute composition of the instance by a function.
|
static <T extends RealFieldElement<T>> |
constant(int freeParameters,
T value)
Build an instance corresponding to a constant value.
|
FieldGradient<T> |
copySign(double sign)
Returns the instance with the sign of the argument.
|
FieldGradient<T> |
copySign(FieldGradient<T> sign)
Returns the instance with the sign of the argument.
|
FieldGradient<T> |
copySign(T sign)
Returns the instance with the sign of the argument.
|
FieldGradient<T> |
cos()
Cosine operation.
|
FieldGradient<T> |
cosh()
Hyperbolic cosine operation.
|
FieldGradient<T> |
divide(double a)
'÷' operator.
|
FieldGradient<T> |
divide(FieldGradient<T> a)
Compute this ÷ a.
|
FieldGradient<T> |
divide(T a)
'÷' operator.
|
boolean |
equals(Object other)
Test for the equality of two univariate derivatives.
|
FieldGradient<T> |
exp()
Exponential.
|
FieldGradient<T> |
expm1()
Exponential minus 1.
|
FieldGradient<T> |
floor()
Get the largest whole number smaller than instance.
|
int |
getExponent()
Return the exponent of the instance, removing the bias.
|
FieldGradientField<T> |
getField()
Get the
Field to which the instance belongs. |
int |
getFreeParameters()
Get the number of free parameters.
|
T[] |
getGradient()
Get the gradient part of the function.
|
int |
getOrder()
Get the derivation order.
|
T |
getPartialDerivative(int... orders)
Get a partial derivative.
|
T |
getPartialDerivative(int n)
Get the partial derivative with respect to one parameter.
|
double |
getReal()
Get the real value of the number.
|
T |
getValue()
Get the value part of the function.
|
Field<T> |
getValueField()
Get the
Field the value and parameters of the function belongs to. |
int |
hashCode()
Get a hashCode for the univariate derivative.
|
FieldGradient<T> |
hypot(FieldGradient<T> y)
Returns the hypotenuse of a triangle with sides
this and y
- sqrt(this2 +y2)
avoiding intermediate overflow or underflow. |
FieldGradient<T> |
linearCombination(double[] a,
FieldGradient<T>[] b)
Compute a linear combination.
|
FieldGradient<T> |
linearCombination(double a1,
FieldGradient<T> b1,
double a2,
FieldGradient<T> b2)
Compute a linear combination.
|
FieldGradient<T> |
linearCombination(double a1,
FieldGradient<T> b1,
double a2,
FieldGradient<T> b2,
double a3,
FieldGradient<T> b3)
Compute a linear combination.
|
FieldGradient<T> |
linearCombination(double a1,
FieldGradient<T> b1,
double a2,
FieldGradient<T> b2,
double a3,
FieldGradient<T> b3,
double a4,
FieldGradient<T> b4)
Compute a linear combination.
|
FieldGradient<T> |
linearCombination(FieldGradient<T>[] a,
FieldGradient<T>[] b)
Compute a linear combination.
|
FieldGradient<T> |
linearCombination(FieldGradient<T> a1,
FieldGradient<T> b1,
FieldGradient<T> a2,
FieldGradient<T> b2)
Compute a linear combination.
|
FieldGradient<T> |
linearCombination(FieldGradient<T> a1,
FieldGradient<T> b1,
FieldGradient<T> a2,
FieldGradient<T> b2,
FieldGradient<T> a3,
FieldGradient<T> b3)
Compute a linear combination.
|
FieldGradient<T> |
linearCombination(FieldGradient<T> a1,
FieldGradient<T> b1,
FieldGradient<T> a2,
FieldGradient<T> b2,
FieldGradient<T> a3,
FieldGradient<T> b3,
FieldGradient<T> a4,
FieldGradient<T> b4)
Compute a linear combination.
|
FieldGradient<T> |
linearCombination(T[] a,
FieldGradient<T>[] b)
Compute a linear combination.
|
FieldGradient<T> |
linearCombination(T a1,
FieldGradient<T> b1,
T a2,
FieldGradient<T> b2,
T a3,
FieldGradient<T> b3)
Compute a linear combination.
|
FieldGradient<T> |
log()
Natural logarithm.
|
FieldGradient<T> |
log10()
Base 10 logarithm.
|
FieldGradient<T> |
log1p()
Shifted natural logarithm.
|
FieldGradient<T> |
multiply(double a)
'×' operator.
|
FieldGradient<T> |
multiply(FieldGradient<T> a)
Compute this × a.
|
FieldGradient<T> |
multiply(int n)
Compute n × this.
|
FieldGradient<T> |
multiply(T n)
'×' operator.
|
FieldGradient<T> |
negate()
Returns the additive inverse of
this element. |
FieldGradient<T> |
newInstance(double c)
Create an instance corresponding to a constant real value.
|
FieldGradient<T> |
newInstance(T c)
Create an instance corresponding to a constant real value.
|
FieldGradient<T> |
pow(double p)
Power operation.
|
static <T extends RealFieldElement<T>> |
pow(double a,
FieldGradient<T> x)
Compute ax where a is a double and x a
FieldGradient |
FieldGradient<T> |
pow(FieldGradient<T> e)
Power operation.
|
FieldGradient<T> |
pow(int n)
Integer power operation.
|
FieldGradient<T> |
reciprocal()
Returns the multiplicative inverse of
this element. |
FieldGradient<T> |
remainder(double a)
IEEE remainder operator.
|
FieldGradient<T> |
remainder(FieldGradient<T> a)
IEEE remainder operator.
|
FieldGradient<T> |
remainder(T a)
IEEE remainder operator.
|
FieldGradient<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.
|
FieldGradient<T> |
rootN(int n)
Nth root.
|
FieldGradient<T> |
scalb(int n)
Multiply the instance by a power of 2.
|
FieldGradient<T> |
signum()
Compute the signum of the instance.
|
FieldGradient<T> |
sin()
Sine operation.
|
FieldSinCos<FieldGradient<T>> |
sinCos()
Combined Sine and Cosine operation.
|
FieldGradient<T> |
sinh()
Hyperbolic sine operation.
|
FieldGradient<T> |
sqrt()
Square root.
|
FieldGradient<T> |
subtract(double a)
'-' operator.
|
FieldGradient<T> |
subtract(FieldGradient<T> a)
Compute this - a.
|
FieldGradient<T> |
subtract(T a)
'-' operator.
|
FieldGradient<T> |
tan()
Tangent operation.
|
FieldGradient<T> |
tanh()
Hyperbolic tangent operation.
|
T |
taylor(double... delta)
Evaluate Taylor expansion of a gradient.
|
T |
taylor(T... delta)
Evaluate Taylor expansion of a gradient.
|
FieldGradient<T> |
toDegrees()
Convert radians to degrees, with error of less than 0.5 ULP
|
FieldDerivativeStructure<T> |
toDerivativeStructure()
Convert the instance to a
FieldDerivativeStructure . |
FieldGradient<T> |
toRadians()
Convert degrees to radians, with error of less than 0.5 ULP
|
static <T extends RealFieldElement<T>> |
variable(int freeParameters,
int index,
T value)
Build a
Gradient representing a variable. |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
round
isInfinite, isNaN
@SafeVarargs public FieldGradient(T value, T... gradient)
value
- value of the functiongradient
- gradient of the functionpublic FieldGradient(FieldDerivativeStructure<T> ds) throws MathIllegalArgumentException
DerivativeStructure
.ds
- derivative structureMathIllegalArgumentException
- if ds
order
is not 1public static <T extends RealFieldElement<T>> FieldGradient<T> constant(int freeParameters, T value)
T
- the type of the function parameters and valuefreeParameters
- number of free parameters (i.e. dimension of the gradient)value
- constant value of the functionFieldGradient
with a constant value and all derivatives set to 0.0public static <T extends RealFieldElement<T>> FieldGradient<T> variable(int freeParameters, int index, T value)
Gradient
representing a variable.
Instances built using this method are considered to be the free variables with respect to which differentials are computed. As such, their differential with respect to themselves is +1.
T
- the type of the function parameters and valuefreeParameters
- number of free parameters (i.e. dimension of the gradient)index
- index of the variable (from 0 to getFreeParameters()
- 1)value
- value of the variableFieldGradient
with a constant value and all derivatives set to 0.0 except the
one at index
which will be set to 1.0public Field<T> getValueField()
Field
the value and parameters of the function belongs to.Field
the value and parameters of the function belongs topublic FieldGradient<T> newInstance(double c)
The default implementation creates the instance by adding
the value to getField().getZero()
. This is not optimal
and does not work when called with a negative zero as the
sign of zero is lost with the addition. The default implementation
should therefore be overridden in concrete classes. The default
implementation will be removed at the next major version.
newInstance
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
c
- constant real valuepublic FieldGradient<T> newInstance(T c)
The default implementation creates the instance by adding
the value to getField().getZero()
. This is not optimal
and does not work when called with a negative zero as the
sign of zero is lost with the addition. The default implementation
should therefore be overridden in concrete classes. The default
implementation will be removed at the next major version.
c
- constant real valuepublic double getReal()
getReal
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public T getValue()
getValue
in interface FieldDerivative<T extends RealFieldElement<T>,FieldGradient<T extends RealFieldElement<T>>>
public T[] getGradient()
public int getFreeParameters()
getFreeParameters
in interface FieldDerivative<T extends RealFieldElement<T>,FieldGradient<T extends RealFieldElement<T>>>
public int getOrder()
getOrder
in interface FieldDerivative<T extends RealFieldElement<T>,FieldGradient<T extends RealFieldElement<T>>>
public T getPartialDerivative(int... orders) throws MathIllegalArgumentException
getPartialDerivative
in interface FieldDerivative<T extends RealFieldElement<T>,FieldGradient<T extends RealFieldElement<T>>>
orders
- derivation orders with respect to each variable (if all orders are 0,
the value is returned)MathIllegalArgumentException
- if the numbers of variables does not
match the instanceFieldDerivative.getValue()
public T getPartialDerivative(int n) throws MathIllegalArgumentException
n
- index of the parameter (counting from 0)MathIllegalArgumentException
- if n is either negative or larger
or equal to getFreeParameters()
public FieldDerivativeStructure<T> toDerivativeStructure()
FieldDerivativeStructure
.public FieldGradient<T> add(T a)
a
- right hand side parameter of the operatorpublic FieldGradient<T> add(double a)
add
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
a
- right hand side parameter of the operatorpublic FieldGradient<T> add(FieldGradient<T> a)
add
in interface FieldElement<FieldGradient<T extends RealFieldElement<T>>>
a
- element to addpublic FieldGradient<T> subtract(T a)
a
- right hand side parameter of the operatorpublic FieldGradient<T> subtract(double a)
subtract
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
a
- right hand side parameter of the operatorpublic FieldGradient<T> subtract(FieldGradient<T> a)
subtract
in interface FieldElement<FieldGradient<T extends RealFieldElement<T>>>
a
- element to subtractpublic FieldGradient<T> multiply(T n)
n
- right hand side parameter of the operatorpublic FieldGradient<T> multiply(int n)
multiply
in interface FieldElement<FieldGradient<T extends RealFieldElement<T>>>
n
- Number of times this
must be added to itself.public FieldGradient<T> multiply(double a)
multiply
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
a
- right hand side parameter of the operatorpublic FieldGradient<T> multiply(FieldGradient<T> a)
multiply
in interface FieldElement<FieldGradient<T extends RealFieldElement<T>>>
a
- element to multiplypublic FieldGradient<T> divide(T a)
a
- right hand side parameter of the operatorpublic FieldGradient<T> divide(double a)
divide
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
a
- right hand side parameter of the operatorpublic FieldGradient<T> divide(FieldGradient<T> a)
divide
in interface FieldElement<FieldGradient<T extends RealFieldElement<T>>>
a
- element to divide bypublic FieldGradient<T> remainder(T a)
a
- right hand side parameter of the operatorpublic FieldGradient<T> remainder(double a)
remainder
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
a
- right hand side parameter of the operatorpublic FieldGradient<T> remainder(FieldGradient<T> a)
remainder
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
a
- right hand side parameter of the operatorpublic FieldGradient<T> negate()
this
element.negate
in interface FieldElement<FieldGradient<T extends RealFieldElement<T>>>
this
.public FieldGradient<T> abs()
abs
in interface RealFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> ceil()
ceil
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> floor()
floor
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> rint()
rint
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> signum()
signum
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> copySign(T sign)
sign
argument is treated as positive.sign
- the sign for the returned valuesign
argumentpublic FieldGradient<T> copySign(FieldGradient<T> sign)
sign
argument is treated as positive.copySign
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
sign
- the sign for the returned valuesign
argumentpublic FieldGradient<T> copySign(double sign)
sign
argument is treated as positive.copySign
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
sign
- the sign for the returned valuesign
argumentpublic int getExponent()
For double numbers of the form 2x, the unbiased exponent is exactly x.
getExponent
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> scalb(int n)
scalb
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
n
- power of 2public FieldGradient<T> hypot(FieldGradient<T> y)
this
and y
- sqrt(this2 +y2)
avoiding intermediate overflow or underflow.
hypot
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
y
- a valuepublic FieldGradient<T> reciprocal()
this
element.reciprocal
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
reciprocal
in interface FieldElement<FieldGradient<T extends RealFieldElement<T>>>
this
.public FieldGradient<T> compose(T g0, T g1)
g0
- value of the function at the current point (i.e. at g(getValue())
)g1
- first derivative of the function at the current point (i.e. at g'(getValue())
)public FieldGradient<T> sqrt()
sqrt
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> cbrt()
cbrt
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> rootN(int n)
rootN
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
n
- order of the rootpublic FieldGradientField<T> getField()
Field
to which the instance belongs.getField
in interface FieldElement<FieldGradient<T extends RealFieldElement<T>>>
Field
to which the instance belongspublic static <T extends RealFieldElement<T>> FieldGradient<T> pow(double a, FieldGradient<T> x)
FieldGradient
T
- the type of the function parameters and valuea
- number to exponentiatex
- power to applypublic FieldGradient<T> pow(double p)
pow
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
p
- power to applypublic FieldGradient<T> pow(int n)
pow
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
n
- power to applypublic FieldGradient<T> pow(FieldGradient<T> e)
pow
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
e
- exponentpublic FieldGradient<T> exp()
exp
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> expm1()
expm1
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> log()
log
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> log1p()
log1p
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> log10()
log10
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> cos()
cos
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> sin()
sin
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldSinCos<FieldGradient<T>> sinCos()
sinCos
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> tan()
tan
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> acos()
acos
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> asin()
asin
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> atan()
atan
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> atan2(FieldGradient<T> x)
atan2
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
x
- second argument of the arc tangentpublic FieldGradient<T> cosh()
cosh
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> sinh()
sinh
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> tanh()
tanh
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> acosh()
acosh
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> asinh()
asinh
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> atanh()
atanh
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> toDegrees()
toDegrees
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public FieldGradient<T> toRadians()
toRadians
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
public T taylor(double... delta)
delta
- parameters offsets (Δx, Δy, ...)public T taylor(T... delta)
delta
- parameters offsets (Δx, Δy, ...)public FieldGradient<T> linearCombination(FieldGradient<T>[] a, FieldGradient<T>[] b)
linearCombination
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
a
- Factors.b
- Factors.Σi ai bi
.public FieldGradient<T> linearCombination(T[] a, FieldGradient<T>[] b)
a
- Factors.b
- Factors.Σi ai bi
.MathIllegalArgumentException
- if arrays dimensions don't matchpublic FieldGradient<T> linearCombination(double[] a, FieldGradient<T>[] b)
linearCombination
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
a
- Factors.b
- Factors.Σi ai bi
.public FieldGradient<T> linearCombination(FieldGradient<T> a1, FieldGradient<T> b1, FieldGradient<T> a2, FieldGradient<T> b2)
linearCombination
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
a1
- first factor of the first termb1
- second factor of the first terma2
- first factor of the second termb2
- second factor of the second termCalculusFieldElement.linearCombination(Object, Object, Object, Object, Object, Object)
,
CalculusFieldElement.linearCombination(Object, Object, Object, Object, Object, Object, Object, Object)
public FieldGradient<T> linearCombination(double a1, FieldGradient<T> b1, double a2, FieldGradient<T> b2)
linearCombination
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
a1
- first factor of the first termb1
- second factor of the first terma2
- first factor of the second termb2
- second factor of the second termCalculusFieldElement.linearCombination(double, Object, double, Object, double, Object)
,
CalculusFieldElement.linearCombination(double, Object, double, Object, double, Object, double, Object)
public FieldGradient<T> linearCombination(FieldGradient<T> a1, FieldGradient<T> b1, FieldGradient<T> a2, FieldGradient<T> b2, FieldGradient<T> a3, FieldGradient<T> b3)
linearCombination
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
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 termCalculusFieldElement.linearCombination(Object, Object, Object, Object)
,
CalculusFieldElement.linearCombination(Object, Object, Object, Object, Object, Object, Object, Object)
public FieldGradient<T> linearCombination(T a1, FieldGradient<T> b1, T a2, FieldGradient<T> b2, T a3, FieldGradient<T> b3)
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 termMathIllegalArgumentException
- if number of free parameters or orders are inconsistentCalculusFieldElement.linearCombination(double, Object, double, Object)
,
CalculusFieldElement.linearCombination(double, Object, double, Object, double, Object, double, Object)
public FieldGradient<T> linearCombination(double a1, FieldGradient<T> b1, double a2, FieldGradient<T> b2, double a3, FieldGradient<T> b3)
linearCombination
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
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 termCalculusFieldElement.linearCombination(double, Object, double, Object)
,
CalculusFieldElement.linearCombination(double, Object, double, Object, double, Object, double, Object)
public FieldGradient<T> linearCombination(FieldGradient<T> a1, FieldGradient<T> b1, FieldGradient<T> a2, FieldGradient<T> b2, FieldGradient<T> a3, FieldGradient<T> b3, FieldGradient<T> a4, FieldGradient<T> b4)
linearCombination
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
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 termCalculusFieldElement.linearCombination(Object, Object, Object, Object)
,
CalculusFieldElement.linearCombination(Object, Object, Object, Object, Object, Object)
public FieldGradient<T> linearCombination(double a1, FieldGradient<T> b1, double a2, FieldGradient<T> b2, double a3, FieldGradient<T> b3, double a4, FieldGradient<T> b4)
linearCombination
in interface CalculusFieldElement<FieldGradient<T extends RealFieldElement<T>>>
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 termCalculusFieldElement.linearCombination(double, Object, double, Object)
,
CalculusFieldElement.linearCombination(double, Object, double, Object, double, Object)
public boolean equals(Object other)
univariate derivatives are considered equal if they have the same derivatives.
Copyright © 2016–2020 Hipparchus.org. All rights reserved.