Class FirstOrderApproximation<N extends Comparable<N>>
- All Implemented Interfaces:
BasicFunction, BasicFunction.PlainUnary<Access1D<N>, N>, MultiaryFunction<N>, MultiaryFunction.TwiceDifferentiable<N>
-
Nested Class Summary
Nested classes/interfaces inherited from interface BasicFunction
BasicFunction.Differentiable<N,F>, BasicFunction.Integratable<N, F>, BasicFunction.PlainUnary<T, R> Nested classes/interfaces inherited from interface MultiaryFunction
MultiaryFunction.Affine<N>, MultiaryFunction.Constant<N>, MultiaryFunction.Convex<N>, MultiaryFunction.Linear<N>, MultiaryFunction.PureQuadratic<N>, MultiaryFunction.Quadratic<N>, MultiaryFunction.TwiceDifferentiable<N> -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionFirstOrderApproximation(MultiaryFunction.TwiceDifferentiable<N> function, Access1D<N> point) -
Method Summary
Modifier and TypeMethodDescriptionintarity()boolean(package private) PhysicalStore.Factory<N, ?> factory()getGradient(Access1D<N> point) The gradient of a scalar field is a vector field that points in the direction of the greatest rate of increase of the scalar field, and whose magnitude is that rate of increase.getHessian(Access1D<N> point) The Hessian matrix or Hessian is a square matrix of second-order partial derivatives of a function.inthashCode()toString()Methods inherited from class ApproximateFunction
getLinearFactors, shift, toFirstOrderApproximation, toSecondOrderApproximationMethods inherited from interface MultiaryFunction
andThen
-
Field Details
-
myDelegate
-
-
Constructor Details
-
FirstOrderApproximation
-
-
Method Details
-
arity
public int arity() -
equals
- Overrides:
equalsin classApproximateFunction<N extends Comparable<N>>
-
getGradient
Description copied from interface:MultiaryFunction.TwiceDifferentiableThe gradient of a scalar field is a vector field that points in the direction of the greatest rate of increase of the scalar field, and whose magnitude is that rate of increase.
The Jacobian is a generalization of the gradient. Gradients are only defined on scalar-valued functions, but Jacobians are defined on vector- valued functions. When f is real-valued (i.e., f : Rn → R) the derivative Df(x) is a 1 × n matrix, i.e., it is a row vector. Its transpose is called the gradient of the function: ∇f(x) = Df(x)T , which is a (column) vector, i.e., in Rn. Its components are the partial derivatives of f:
The first-order approximation of f at a point x ∈ int dom f can be expressed as (the affine function of z) f(z) = f(x) + ∇f(x)T (z − x).
-
getHessian
Description copied from interface:MultiaryFunction.TwiceDifferentiableThe Hessian matrix or Hessian is a square matrix of second-order partial derivatives of a function. It describes the local curvature of a function of many variables. The Hessian is the Jacobian of the gradient.
The second-order approximation of f, at or near x, is the quadratic function of z defined by f(z) = f(x) + ∇f(x)T (z − x) + (1/2)(z − x)T ∇2f(x)(z − x)
-
hashCode
public int hashCode()- Overrides:
hashCodein classApproximateFunction<N extends Comparable<N>>
-
invoke
-
toString
-
factory
PhysicalStore.Factory<N,?> factory()- Specified by:
factoryin classApproximateFunction<N extends Comparable<N>>
-