Class FirstOrderApproximation<N extends java.lang.Comparable<N>>
- java.lang.Object
-
- org.ojalgo.function.multiary.ApproximateFunction<N>
-
- org.ojalgo.function.multiary.FirstOrderApproximation<N>
-
- All Implemented Interfaces:
BasicFunction
,BasicFunction.PlainUnary<Access1D<N>,N>
,MultiaryFunction<N>
,MultiaryFunction.TwiceDifferentiable<N>
public final class FirstOrderApproximation<N extends java.lang.Comparable<N>> extends ApproximateFunction<N>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.ojalgo.function.BasicFunction
BasicFunction.Differentiable<N extends java.lang.Comparable<N>,F extends BasicFunction>, BasicFunction.Integratable<N extends java.lang.Comparable<N>,F extends BasicFunction>, BasicFunction.PlainUnary<T,R>
-
Nested classes/interfaces inherited from interface org.ojalgo.function.multiary.MultiaryFunction
MultiaryFunction.Affine<N extends java.lang.Comparable<N>>, MultiaryFunction.Constant<N extends java.lang.Comparable<N>>, MultiaryFunction.Convex<N extends java.lang.Comparable<N>>, MultiaryFunction.Linear<N extends java.lang.Comparable<N>>, MultiaryFunction.PureQuadratic<N extends java.lang.Comparable<N>>, MultiaryFunction.Quadratic<N extends java.lang.Comparable<N>>, MultiaryFunction.TwiceDifferentiable<N extends java.lang.Comparable<N>>
-
-
Field Summary
Fields Modifier and Type Field Description private AffineFunction<N>
myDelegate
-
Constructor Summary
Constructors Constructor Description FirstOrderApproximation(MultiaryFunction.TwiceDifferentiable<N> function, Access1D<N> point)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
arity()
boolean
equals(java.lang.Object obj)
(package private) PhysicalStore.Factory<N,?>
factory()
MatrixStore<N>
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.MatrixStore<N>
getHessian(Access1D<N> point)
The Hessian matrix or Hessian is a square matrix of second-order partial derivatives of a function.int
hashCode()
N
invoke(Access1D<N> arg)
java.lang.String
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 Detail
-
myDelegate
private final AffineFunction<N extends java.lang.Comparable<N>> myDelegate
-
-
Constructor Detail
-
FirstOrderApproximation
public FirstOrderApproximation(MultiaryFunction.TwiceDifferentiable<N> function, Access1D<N> point)
-
-
Method Detail
-
arity
public int arity()
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classApproximateFunction<N extends java.lang.Comparable<N>>
-
getGradient
public MatrixStore<N> getGradient(Access1D<N> point)
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
public MatrixStore<N> getHessian(Access1D<N> point)
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 java.lang.Comparable<N>>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
factory
PhysicalStore.Factory<N,?> factory()
- Specified by:
factory
in classApproximateFunction<N extends java.lang.Comparable<N>>
-
-