Conjugate gradients eigen-solver. More...
#include <BandMinimizer.h>
Public Member Functions | |
BandMinimizer (Everything &e, int q) | |
Construct band-structure minimizer for quantum number q. | |
double | compute (ColumnBundle *grad, ColumnBundle *Kgrad) |
Returns the objective function at the current state and store the gradient in grad and preconditioned gradient in Kgrad, if non-null. | |
void | step (const ColumnBundle &dir, double alpha) |
Move the state in parameter space along direction dir with scale alpha. | |
void | constrain (ColumnBundle &) |
Constrain search directions to the space of free directions for minimize. | |
Public Member Functions inherited from Minimizable< ColumnBundle > | |
virtual bool | report (int iter) |
virtual double | sync (double x) const |
Override to synchronize scalars over MPI processes (if the same minimization is happening in sync over many processes) | |
virtual double | safeStepSize (const ColumnBundle &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) |
Conjugate gradients eigen-solver.