Class SecondOrderApproximation<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 org.ojalgo.function.BasicFunction
BasicFunction.Differentiable<N extends Comparable<N>,
F extends BasicFunction>, BasicFunction.Integratable<N extends Comparable<N>, F extends BasicFunction>, BasicFunction.PlainUnary<T, R> Nested classes/interfaces inherited from interface org.ojalgo.function.multiary.MultiaryFunction
MultiaryFunction.Affine<N extends Comparable<N>>, MultiaryFunction.Constant<N extends Comparable<N>>, MultiaryFunction.Convex<N extends Comparable<N>>, MultiaryFunction.Linear<N extends Comparable<N>>, MultiaryFunction.PureQuadratic<N extends Comparable<N>>, MultiaryFunction.Quadratic<N extends Comparable<N>>, MultiaryFunction.TwiceDifferentiable<N extends Comparable<N>>
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionSecondOrderApproximation
(MultiaryFunction.TwiceDifferentiable<N> function, Access1D<N> point) -
Method Summary
Modifier and TypeMethodDescriptionint
arity()
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.int
hashCode()
toString()
Methods inherited from class org.ojalgo.function.multiary.ApproximateFunction
getLinearFactors, shift, toFirstOrderApproximation, toSecondOrderApproximation
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.ojalgo.function.multiary.MultiaryFunction
andThen
-
Field Details
-
myDelegate
-
-
Constructor Details
-
SecondOrderApproximation
public SecondOrderApproximation(MultiaryFunction.TwiceDifferentiable<N> function, Access1D<N> point)
-
-
Method Details
-
arity
public int arity() -
equals
- Overrides:
equals
in classApproximateFunction<N extends Comparable<N>>
-
getGradient
Description copied from interface:MultiaryFunction.TwiceDifferentiable
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.
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.TwiceDifferentiable
The 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:
hashCode
in classApproximateFunction<N extends Comparable<N>>
-
invoke
-
toString
-
factory
PhysicalStore.Factory<N,?> factory()- Specified by:
factory
in classApproximateFunction<N extends Comparable<N>>
-