Class Gradient

All Implemented Interfaces:
Serializable, Derivative<Gradient>, Derivative1<Gradient>, DifferentialAlgebra, CalculusFieldElement<Gradient>, FieldElement<Gradient>

public class Gradient extends Object implements Derivative1<Gradient>, Serializable
Class representing both the value and the differentials of a function.

This class is a stripped-down version of DerivativeStructure with derivation order limited to one. 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.

Gradient 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.

See Also: