public class UnivariateDerivative2 extends UnivariateDerivative<UnivariateDerivative2>
This class is a stripped-down version of DerivativeStructure
 with only one free parameter
 and derivation order also limited to two.
 It should have less overhead than DerivativeStructure 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.
UnivariateDerivative2 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 | 
|---|
| UnivariateDerivative2(DerivativeStructure ds)Build an instance from a  DerivativeStructure. | 
| UnivariateDerivative2(double f0,
                     double f1,
                     double f2)Build an instance with values and derivative. | 
| Modifier and Type | Method and Description | 
|---|---|
| UnivariateDerivative2 | abs()absolute value. | 
| UnivariateDerivative2 | acos()Arc cosine operation. | 
| UnivariateDerivative2 | acosh()Inverse hyperbolic cosine operation. | 
| UnivariateDerivative2 | add(double a)'+' operator. | 
| UnivariateDerivative2 | add(UnivariateDerivative2 a)Compute this + a. | 
| UnivariateDerivative2 | asin()Arc sine operation. | 
| UnivariateDerivative2 | asinh()Inverse hyperbolic sine operation. | 
| UnivariateDerivative2 | atan()Arc tangent operation. | 
| UnivariateDerivative2 | atan2(UnivariateDerivative2 x)Two arguments arc tangent operation. | 
| UnivariateDerivative2 | atanh()Inverse hyperbolic  tangent operation. | 
| UnivariateDerivative2 | cbrt()Cubic root. | 
| UnivariateDerivative2 | ceil()Get the smallest whole number larger than instance. | 
| UnivariateDerivative2 | compose(double g0,
       double g1,
       double g2)Compute composition of the instance by a function. | 
| UnivariateDerivative2 | copySign(double sign)Returns the instance with the sign of the argument. | 
| UnivariateDerivative2 | copySign(UnivariateDerivative2 sign)Returns the instance with the sign of the argument. | 
| UnivariateDerivative2 | cos()Cosine operation. | 
| UnivariateDerivative2 | cosh()Hyperbolic cosine operation. | 
| UnivariateDerivative2 | divide(double a)'÷' operator. | 
| UnivariateDerivative2 | divide(UnivariateDerivative2 a)Compute this ÷ a. | 
| boolean | equals(Object other)Test for the equality of two univariate derivatives. | 
| UnivariateDerivative2 | exp()Exponential. | 
| UnivariateDerivative2 | expm1()Exponential minus 1. | 
| UnivariateDerivative2 | floor()Get the largest whole number smaller than instance. | 
| double | getDerivative(int n)Get a derivative from the univariate derivative. | 
| int | getExponent()Return the exponent of the instance, removing the bias. | 
| UnivariateDerivative2Field | getField()Get the  Fieldto which the instance belongs. | 
| double | getFirstDerivative()Get the first derivative. | 
| int | getOrder()Get the derivation order. | 
| double | getReal()Get the real value of the number. | 
| double | getSecondDerivative()Get the second derivative. | 
| double | getValue()Get the value part of the function. | 
| int | hashCode()Get a hashCode for the univariate derivative. | 
| UnivariateDerivative2 | hypot(UnivariateDerivative2 y)Returns the hypotenuse of a triangle with sides  thisandy- sqrt(this2 +y2)
 avoiding intermediate overflow or underflow. | 
| UnivariateDerivative2 | linearCombination(double[] a,
                 UnivariateDerivative2[] b)Compute a linear combination. | 
| UnivariateDerivative2 | linearCombination(double a1,
                 UnivariateDerivative2 b1,
                 double a2,
                 UnivariateDerivative2 b2)Compute a linear combination. | 
| UnivariateDerivative2 | linearCombination(double a1,
                 UnivariateDerivative2 b1,
                 double a2,
                 UnivariateDerivative2 b2,
                 double a3,
                 UnivariateDerivative2 b3)Compute a linear combination. | 
| UnivariateDerivative2 | linearCombination(double a1,
                 UnivariateDerivative2 b1,
                 double a2,
                 UnivariateDerivative2 b2,
                 double a3,
                 UnivariateDerivative2 b3,
                 double a4,
                 UnivariateDerivative2 b4)Compute a linear combination. | 
| UnivariateDerivative2 | linearCombination(UnivariateDerivative2[] a,
                 UnivariateDerivative2[] b)Compute a linear combination. | 
| UnivariateDerivative2 | linearCombination(UnivariateDerivative2 a1,
                 UnivariateDerivative2 b1,
                 UnivariateDerivative2 a2,
                 UnivariateDerivative2 b2)Compute a linear combination. | 
| UnivariateDerivative2 | linearCombination(UnivariateDerivative2 a1,
                 UnivariateDerivative2 b1,
                 UnivariateDerivative2 a2,
                 UnivariateDerivative2 b2,
                 UnivariateDerivative2 a3,
                 UnivariateDerivative2 b3)Compute a linear combination. | 
| UnivariateDerivative2 | linearCombination(UnivariateDerivative2 a1,
                 UnivariateDerivative2 b1,
                 UnivariateDerivative2 a2,
                 UnivariateDerivative2 b2,
                 UnivariateDerivative2 a3,
                 UnivariateDerivative2 b3,
                 UnivariateDerivative2 a4,
                 UnivariateDerivative2 b4)Compute a linear combination. | 
| UnivariateDerivative2 | log()Natural logarithm. | 
| UnivariateDerivative2 | log10()Base 10 logarithm. | 
| UnivariateDerivative2 | log1p()Shifted natural logarithm. | 
| UnivariateDerivative2 | multiply(double a)'×' operator. | 
| UnivariateDerivative2 | multiply(int n)Compute n × this. | 
| UnivariateDerivative2 | multiply(UnivariateDerivative2 a)Compute this × a. | 
| UnivariateDerivative2 | negate()Returns the additive inverse of  thiselement. | 
| UnivariateDerivative2 | newInstance(double value)Create an instance corresponding to a constant real value. | 
| UnivariateDerivative2 | pow(double p)Power operation. | 
| static UnivariateDerivative2 | pow(double a,
   UnivariateDerivative2 x)Compute ax where a is a double and x a  UnivariateDerivative2 | 
| UnivariateDerivative2 | pow(int n)Integer power operation. | 
| UnivariateDerivative2 | pow(UnivariateDerivative2 e)Power operation. | 
| UnivariateDerivative2 | reciprocal()Returns the multiplicative inverse of  thiselement. | 
| UnivariateDerivative2 | remainder(double a)IEEE remainder operator. | 
| UnivariateDerivative2 | remainder(UnivariateDerivative2 a)IEEE remainder operator. | 
| UnivariateDerivative2 | 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. | 
| UnivariateDerivative2 | rootN(int n)Nth root. | 
| UnivariateDerivative2 | scalb(int n)Multiply the instance by a power of 2. | 
| UnivariateDerivative2 | signum()Compute the signum of the instance. | 
| UnivariateDerivative2 | sin()Sine operation. | 
| FieldSinCos<UnivariateDerivative2> | sinCos()Combined Sine and Cosine operation. | 
| UnivariateDerivative2 | sinh()Hyperbolic sine operation. | 
| UnivariateDerivative2 | sqrt()Square root. | 
| UnivariateDerivative2 | subtract(double a)'-' operator. | 
| UnivariateDerivative2 | subtract(UnivariateDerivative2 a)Compute this - a. | 
| UnivariateDerivative2 | tan()Tangent operation. | 
| UnivariateDerivative2 | tanh()Hyperbolic tangent operation. | 
| double | taylor(double delta)Evaluate Taylor expansion a univariate derivative. | 
| UnivariateDerivative2 | toDegrees()Convert radians to degrees, with error of less than 0.5 ULP | 
| DerivativeStructure | toDerivativeStructure()Convert the instance to a  DerivativeStructure. | 
| UnivariateDerivative2 | toRadians()Convert degrees to radians, with error of less than 0.5 ULP | 
getFreeParameters, getPartialDerivativeclone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitroundisInfinite, isNaNpublic UnivariateDerivative2(double f0,
                             double f1,
                             double f2)
f0 - value of the functionf1 - first derivative of the functionf2 - second derivative of the functionpublic UnivariateDerivative2(DerivativeStructure ds) throws MathIllegalArgumentException
DerivativeStructure.ds - derivative structureMathIllegalArgumentException - if either ds parameters
 is not 1 or ds order is not 2public UnivariateDerivative2 newInstance(double value)
 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.
 
value - constant real valuepublic double getReal()
public double getValue()
public double getDerivative(int n)
getDerivative in class UnivariateDerivative<UnivariateDerivative2>n - derivation order (must be between 0 and Derivative.getOrder(), both inclusive)public int getOrder()
public double getFirstDerivative()
getValue(), 
getSecondDerivative()public double getSecondDerivative()
getValue(), 
getFirstDerivative()public DerivativeStructure toDerivativeStructure()
DerivativeStructure.toDerivativeStructure in class UnivariateDerivative<UnivariateDerivative2>public UnivariateDerivative2 add(double a)
a - right hand side parameter of the operatorpublic UnivariateDerivative2 add(UnivariateDerivative2 a)
a - element to addpublic UnivariateDerivative2 subtract(double a)
a - right hand side parameter of the operatorpublic UnivariateDerivative2 subtract(UnivariateDerivative2 a)
a - element to subtractpublic UnivariateDerivative2 multiply(int n)
n - Number of times this must be added to itself.public UnivariateDerivative2 multiply(double a)
a - right hand side parameter of the operatorpublic UnivariateDerivative2 multiply(UnivariateDerivative2 a)
a - element to multiplypublic UnivariateDerivative2 divide(double a)
a - right hand side parameter of the operatorpublic UnivariateDerivative2 divide(UnivariateDerivative2 a)
a - element to divide bypublic UnivariateDerivative2 remainder(double a)
a - right hand side parameter of the operatorpublic UnivariateDerivative2 remainder(UnivariateDerivative2 a)
a - right hand side parameter of the operatorpublic UnivariateDerivative2 negate()
this element.this.public UnivariateDerivative2 abs()
public UnivariateDerivative2 ceil()
public UnivariateDerivative2 floor()
public UnivariateDerivative2 rint()
public UnivariateDerivative2 signum()
public UnivariateDerivative2 copySign(UnivariateDerivative2 sign)
sign argument is treated as positive.sign - the sign for the returned valuesign argumentpublic UnivariateDerivative2 copySign(double sign)
sign argument is treated as positive.sign - the sign for the returned valuesign argumentpublic int getExponent()
For double numbers of the form 2x, the unbiased exponent is exactly x.
public UnivariateDerivative2 scalb(int n)
n - power of 2public UnivariateDerivative2 hypot(UnivariateDerivative2 y)
this and y
 - sqrt(this2 +y2)
 avoiding intermediate overflow or underflow.
 y - a valuepublic UnivariateDerivative2 reciprocal()
this element.this.public UnivariateDerivative2 compose(double g0, double g1, double g2)
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()))g2 - second derivative of the function at the current point (i.e. at g''(getValue()))public UnivariateDerivative2 sqrt()
public UnivariateDerivative2 cbrt()
public UnivariateDerivative2 rootN(int n)
n - order of the rootpublic UnivariateDerivative2Field getField()
Field to which the instance belongs.Field to which the instance belongspublic static UnivariateDerivative2 pow(double a, UnivariateDerivative2 x)
UnivariateDerivative2a - number to exponentiatex - power to applypublic UnivariateDerivative2 pow(double p)
p - power to applypublic UnivariateDerivative2 pow(int n)
n - power to applypublic UnivariateDerivative2 pow(UnivariateDerivative2 e)
e - exponentpublic UnivariateDerivative2 exp()
public UnivariateDerivative2 expm1()
public UnivariateDerivative2 log()
public UnivariateDerivative2 log1p()
public UnivariateDerivative2 log10()
public UnivariateDerivative2 cos()
public UnivariateDerivative2 sin()
public FieldSinCos<UnivariateDerivative2> sinCos()
public UnivariateDerivative2 tan()
public UnivariateDerivative2 acos()
public UnivariateDerivative2 asin()
public UnivariateDerivative2 atan()
public UnivariateDerivative2 atan2(UnivariateDerivative2 x)
x - second argument of the arc tangentpublic UnivariateDerivative2 cosh()
public UnivariateDerivative2 sinh()
public UnivariateDerivative2 tanh()
public UnivariateDerivative2 acosh()
public UnivariateDerivative2 asinh()
public UnivariateDerivative2 atanh()
public UnivariateDerivative2 toDegrees()
public UnivariateDerivative2 toRadians()
public double taylor(double delta)
delta - parameter offset Δxpublic UnivariateDerivative2 linearCombination(UnivariateDerivative2[] a, UnivariateDerivative2[] b)
a - Factors.b - Factors.Σi ai bi.public UnivariateDerivative2 linearCombination(double[] a, UnivariateDerivative2[] b)
a - Factors.b - Factors.Σi ai bi.public UnivariateDerivative2 linearCombination(UnivariateDerivative2 a1, UnivariateDerivative2 b1, UnivariateDerivative2 a2, UnivariateDerivative2 b2)
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 UnivariateDerivative2 linearCombination(double a1, UnivariateDerivative2 b1, double a2, UnivariateDerivative2 b2)
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 UnivariateDerivative2 linearCombination(UnivariateDerivative2 a1, UnivariateDerivative2 b1, UnivariateDerivative2 a2, UnivariateDerivative2 b2, UnivariateDerivative2 a3, UnivariateDerivative2 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 termCalculusFieldElement.linearCombination(Object, Object, Object, Object), 
CalculusFieldElement.linearCombination(Object, Object, Object, Object, Object, Object, Object, Object)public UnivariateDerivative2 linearCombination(double a1, UnivariateDerivative2 b1, double a2, UnivariateDerivative2 b2, double a3, UnivariateDerivative2 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 termCalculusFieldElement.linearCombination(double, Object, double, Object), 
CalculusFieldElement.linearCombination(double, Object, double, Object, double, Object, double, Object)public UnivariateDerivative2 linearCombination(UnivariateDerivative2 a1, UnivariateDerivative2 b1, UnivariateDerivative2 a2, UnivariateDerivative2 b2, UnivariateDerivative2 a3, UnivariateDerivative2 b3, UnivariateDerivative2 a4, UnivariateDerivative2 b4)
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 UnivariateDerivative2 linearCombination(double a1, UnivariateDerivative2 b1, double a2, UnivariateDerivative2 b2, double a3, UnivariateDerivative2 b3, double a4, UnivariateDerivative2 b4)
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.