Class PureQuadraticFunction<N extends Comparable<N>>
- All Implemented Interfaces:
BasicFunction
,BasicFunction.PlainUnary<Access1D<N>,
,N> MultiaryFunction<N>
,MultiaryFunction.Constant<N>
,MultiaryFunction.PureQuadratic<N>
,MultiaryFunction.TwiceDifferentiable<N>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
PureQuadraticFunction.Factory<N extends Comparable<N>>
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
arity()
(package private) PhysicalStore.Factory
<N, ?> factory()
static <N extends Comparable<N>>
PureQuadraticFunction.Factory<N> factory
(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.getLinearFactors
(boolean negated) getScalarValue
(Access1D<N> arg) void
setConstant
(Comparable<?> constant) static <N extends Comparable<N>>
PureQuadraticFunction<N> wrap
(PhysicalStore<N> coefficients) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.ojalgo.function.multiary.MultiaryFunction
andThen
Methods inherited from interface org.ojalgo.function.multiary.MultiaryFunction.TwiceDifferentiable
toFirstOrderApproximation, toSecondOrderApproximation
-
Field Details
-
myCoefficients
-
myConstant
-
-
Constructor Details
-
PureQuadraticFunction
PureQuadraticFunction(MatrixStore<N> coefficients)
-
-
Method Details
-
factory
public static <N extends Comparable<N>> PureQuadraticFunction.Factory<N> factory(PhysicalStore.Factory<N, ?> factory) -
wrap
public static <N extends Comparable<N>> PureQuadraticFunction<N> wrap(PhysicalStore<N> coefficients) -
arity
public int arity()- Specified by:
arity
in interfaceMultiaryFunction<N extends Comparable<N>>
-
getConstant
- Specified by:
getConstant
in interfaceMultiaryFunction.Constant<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).
- Specified by:
getGradient
in interfaceMultiaryFunction.TwiceDifferentiable<N extends Comparable<N>>
-
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)
- Specified by:
getHessian
in interfaceMultiaryFunction.TwiceDifferentiable<N extends Comparable<N>>
-
getLinearFactors
- Specified by:
getLinearFactors
in interfaceMultiaryFunction.TwiceDifferentiable<N extends Comparable<N>>
- Returns:
- The gradient at origin (0-vector), negated or not
-
invoke
- Specified by:
invoke
in interfaceBasicFunction.PlainUnary<Access1D<N extends Comparable<N>>,
N extends Comparable<N>> - Specified by:
invoke
in interfaceMultiaryFunction<N extends Comparable<N>>
-
quadratic
- Specified by:
quadratic
in interfaceMultiaryFunction.PureQuadratic<N extends Comparable<N>>
-
setConstant
- Specified by:
setConstant
in interfaceMultiaryFunction.Constant<N extends Comparable<N>>
-
factory
PhysicalStore.Factory<N,?> factory() -
getScalarValue
-