Variational total energy minimizer for electrons. More...
#include <ElecMinimizer.h>
  
 Public Member Functions | |
| ElecMinimizer (Everything &e) | |
| void | step (const ElecGradient &dir, double alpha) | 
| Move the state in parameter space along direction dir with scale alpha.  | |
| double | compute (ElecGradient *grad, ElecGradient *Kgrad) | 
| Returns the objective function at the current state and store the gradient in grad and preconditioned gradient in Kgrad, if non-null.  | |
| bool | report (int iter) | 
| void | constrain (ElecGradient &) | 
| Constrain search directions to the space of free directions for minimize.  | |
| double | sync (double x) const | 
| All processes minimize together; make sure scalars are in sync to round-off error.  | |
  Public Member Functions inherited from Minimizable< ElecGradient > | |
| virtual double | safeStepSize (const ElecGradient &dir) const | 
| Override to return maximum safe step size along a given direction. Steps can be arbitrarily large by default.  | |
| double | minimize (const MinimizeParams ¶ms) | 
| Minimize this objective function with algorithm controlled by params and return the minimized value.  | |
| void | fdTest (const MinimizeParams ¶ms) | 
Variational total energy minimizer for electrons.
      
  | 
  virtual | 
Override for optional processing/reporting after each/every few iterations It should return whether the state was modified
Reimplemented from Minimizable< ElecGradient >.