JDFTx  1.3.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BandMinimizer Class Reference

Conjugate gradients eigen-solver. More...

#include <BandMinimizer.h>

Inheritance diagram for BandMinimizer:
Minimizable< ColumnBundle >

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 &params)
 Minimize this objective function with algorithm controlled by params and return the minimized value.
void fdTest (const MinimizeParams &params)

Detailed Description

Conjugate gradients eigen-solver.

The documentation for this class was generated from the following file: