Class QuasiNewtonMinimizer.QuasiNewtonImpl
- java.lang.Object
-
- dev.nm.solver.multivariate.unconstrained.c2.steepestdescent.SteepestDescentMinimizer.SteepestDescentImpl
-
- dev.nm.solver.multivariate.unconstrained.c2.quasinewton.QuasiNewtonMinimizer.QuasiNewtonImpl
-
- All Implemented Interfaces:
IterativeMethod<Vector>
,IterativeSolution<Vector>
,MinimizationSolution<Vector>
- Direct Known Subclasses:
BFGSMinimizer.BFGSImpl
,HuangMinimizer.HuangImpl
- Enclosing class:
- QuasiNewtonMinimizer
protected abstract class QuasiNewtonMinimizer.QuasiNewtonImpl extends SteepestDescentMinimizer.SteepestDescentImpl
This is an implementation of the Quasi-Newton algorithm. A sub-class supplies the Hessian updating rule.
-
-
Field Summary
Fields Modifier and Type Field Description protected double
ak
the increment in the search directionprotected Vector
dk
the line search direction at the k-th iterationprotected Vector
gk
the gradient at the k-th iterationprotected Matrix
Sk
This is the approximate inverse of the Hessian matrix.-
Fields inherited from class dev.nm.solver.multivariate.unconstrained.c2.steepestdescent.SteepestDescentMinimizer.SteepestDescentImpl
linesearch, problem
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Vector
getDirection(Vector xk)
Get the next search direction.double
getIncrement(Vector xk, Vector dk)
Get the increment fraction, αk.-
Methods inherited from class dev.nm.solver.multivariate.unconstrained.c2.steepestdescent.SteepestDescentMinimizer.SteepestDescentImpl
minimizer, minimum, search, setInitials, step
-
-
-
-
Field Detail
-
Sk
protected Matrix Sk
This is the approximate inverse of the Hessian matrix. An implementation ofupdateSk(dev.nm.algebra.linear.vector.doubles.Vector)
modifies this incrementally.
-
gk
protected Vector gk
the gradient at the k-th iteration
-
dk
protected Vector dk
the line search direction at the k-th iteration
-
ak
protected double ak
the increment in the search direction
-
-
Method Detail
-
getDirection
public Vector getDirection(Vector xk)
Description copied from class:SteepestDescentMinimizer.SteepestDescentImpl
Get the next search direction.- Specified by:
getDirection
in classSteepestDescentMinimizer.SteepestDescentImpl
- Parameters:
xk
- the current minimizer- Returns:
- the next search direction
-
getIncrement
public double getIncrement(Vector xk, Vector dk)
Description copied from class:SteepestDescentMinimizer.SteepestDescentImpl
Get the increment fraction, αk.- Overrides:
getIncrement
in classSteepestDescentMinimizer.SteepestDescentImpl
- Parameters:
xk
- the current minimizerdk
- the search direction- Returns:
- αk
-
-