|
SuanShu, a Java numerical and statistical library | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectcom.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent.LineSearch
public abstract class SteepestDescent.LineSearch
A steepest-descent method, in each iteration, searches along a direction to find the next best minimizer along a direction. We want to find out how much the minimizer moves in this direction.
By making LineSearch an inner class,
its methods will have access to the members in SteepestDescent, e.g., f.
This is to avoid storing the same datum in multiple places, hence no inconsistency problem.
For the very same reason, this class cannot be made static
in order to access the non-static members in SteepestDescent, e.g., f.
TODO:
Consequently, (a problem?) the member storing an instance of LineSearch,
e.g., lsearch,
cannot be passed in the constructors.
A non-static inner class cannot be created before the enclosing class is created.
| Field Summary | |
|---|---|
protected Vector |
dk
the line search direction at the k-th iteration |
protected Vector |
gk
the gradient evaluated at xk |
RntoMatrix |
H
the Hessian function, H(x) |
protected Matrix |
Hk
the Hessian evaluated at xk |
| Constructor Summary | |
|---|---|
protected |
SteepestDescent.LineSearch(RntoMatrix H)
Construct a line search instance. |
| Method Summary | |
|---|---|
protected abstract double |
minimize(Vector xk)
Perform a line search to minimize a function, starting from xk. |
protected void |
reset()
Reset the transient states of the instance. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public final RntoMatrix H
H(x)
protected Vector gk
xk
protected Matrix Hk
xk
protected Vector dk
| Constructor Detail |
|---|
protected SteepestDescent.LineSearch(RntoMatrix H)
H - the function to compute the Hessian at x| Method Detail |
|---|
protected void reset()
protected abstract double minimize(Vector xk)
xk.
xk - the current minimizer
ak+1
|
SuanShu, a Java numerical and statistical library | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||