20 #ifndef JDFTX_ELECTRONIC_ELECMINIMIZER_H 21 #define JDFTX_ELECTRONIC_ELECMINIMIZER_H 23 #include <electronic/common.h> 24 #include <electronic/ColumnBundle.h> 25 #include <electronic/matrix.h> 29 { std::vector<ColumnBundle> C;
30 std::vector<matrix> Haux;
52 bool report(
int iter);
54 double sync(
double x)
const;
60 std::vector<matrix> KgradHaux;
61 std::vector<matrix> rotPrev;
62 std::vector<matrix> rotPrevC;
63 std::vector<matrix> rotPrevCinv;
66 std::shared_ptr<struct SubspaceRotationAdjust> sra;
74 #endif // JDFTX_ELECTRONIC_ELECMINIMIZER_H void randomize(TptrCollection &x)
Initialize to normal random numbers:
Definition: ScalarFieldArray.h:154
complex dot(const Tptr &X, const Tptr &Y)
Definition: Operators.h:196
Definition: ElecMinimizer.h:44
void init(const Everything &e)
initialize C and Haux with the correct sizes for everything
ElecGradient & operator*=(double alpha)
scalar multiply
Tptr clone(const Tptr &X)
Clone (NOTE: operator= is by reference for the ScalarField classes)
Definition: Operators.h:111
Definition: ElecMinimizer.h:28
Definition: Everything.h:41
Definition: ElecVars.h:30
Nonlinear minimization templates.
Definition: ElecInfo.h:49
Definition: Minimize.h:46
void axpy(double alpha, const Tptr &X, Tptr &Y)
Generic axpy for complex data types (Note: null pointers are treated as zero)
Definition: Operators.h:158