#include <Minimize.h>
Public Member Functions | |
| virtual Vector | hessian (const Vector &) const =0 |
| Return vector multiplied by the hessian of the objective function. | |
| virtual Vector | precondition (const Vector &v) const |
| Override to enable preconditioning: return the preconditioned vector, given a vector. | |
| virtual double | sync (double x) const |
| Override to synchronize scalars over MPI processes (if the same minimization is happening in sync over many processes) | |
| int | solve (const Vector &rhs, const MinimizeParams ¶ms) |
Public Attributes | |
| Vector | state |
| the location of the minimum, obtained by solving hessian * state == rhs | |
Interface (abstract base class) for linear conjugate gradients template which minimizes (1/2) dot(state, hessian*state) - dot(state, rhs) which is equivalent to the linear solve hessian * state == rhs
| Vector | Same requirements as the Vector for Minimizable |
| int LinearSolvable< Vector >::solve | ( | const Vector & | rhs, |
| const MinimizeParams & | params | ||
| ) |
Solve the linear system hessian * state == rhs using conjugate gradients: