Class FieldGradient<T extends CalculusFieldElement<T>>

java.lang.Object
org.hipparchus.analysis.differentiation.FieldGradient<T>
Type Parameters:
T - the type of the function parameters and value
All Implemented Interfaces:
DifferentialAlgebra, FieldDerivative<T,FieldGradient<T>>, FieldDerivative1<T,FieldGradient<T>>, CalculusFieldElement<FieldGradient<T>>, FieldElement<FieldGradient<T>>

public class FieldGradient<T extends CalculusFieldElement<T>> extends Object implements FieldDerivative1<T,FieldGradient<T>>
Class representing both the value and the differentials of a function.

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 Derivative-based classes (or in fact any CalculusFieldElement class) is a tedious and error-prone task but has the advantage of not requiring users to compute the derivatives by themselves and allowing to switch for one derivative implementation to another as they all share the same filed API.

Instances of this class are guaranteed to be immutable.

Since:
1.7
See Also: