Public Member Functions | |
IonicMinimizer (Everything &e) | |
void | step (const IonicGradient &dir, double alpha) |
Move the state in parameter space along direction dir with scale alpha. | |
double | compute (IonicGradient *grad) |
Returns the objective function at the current state and store the gradient in grad, if non-null. | |
IonicGradient | precondition (const IonicGradient &grad) |
bool | report (int iter) |
void | constrain (IonicGradient &) |
double | sync (double x) const |
All processes minimize together; make sure scalars are in sync to round-off error. | |
double | minimize (const MinimizeParams ¶ms) |
minor addition to Minimizable::minimize to invoke charge analysis at final positions | |
![]() | |
double | minimize (const MinimizeParams ¶ms) |
Minimize this objective function with algorithm controlled by params and return the minimized value. | |
void | fdTest (const MinimizeParams ¶ms) |
|
virtual |
Constrain an arbitrary vector to the space of free directions for minimize. Used only to generate a random direction for fdTest within the valid minimization subspace.
Reimplemented from Minimizable< IonicGradient >.
|
virtual |
Override to enable preconditioning: return the preconditioned gradient, given the gradient The last call to compute() is guaranteed to be at the same position, so a cached result may be returned
Reimplemented from Minimizable< IonicGradient >.
|
virtual |
Override for optional processing/reporting after each/every few iterations It should return whether the state was modified
Reimplemented from Minimizable< IonicGradient >.