20 #ifndef DIIS_CHEMPS2_H 21 #define DIIS_CHEMPS2_H 42 DIIS(
const int numVarsParamIn,
const int numVarsErrorIn,
const int numVecsIn);
70 void appendNew(
double * newError,
double * newParam);
78 void saveDIIS(
const string filename=DMRGSCF_diis_storage_name)
const;
82 void loadDIIS(
const string filename=DMRGSCF_diis_storage_name);
99 double ** errorVectors;
102 double ** paramVectors;
int getNumVarsError() const
Get the number of variables in the error vectors.
DIIS(const int numVarsParamIn, const int numVarsErrorIn, const int numVecsIn)
Constructor.
void appendNew(double *newError, double *newParam)
Append a new error and parameter vector.
void loadDIIS(const string filename=DMRGSCF_diis_storage_name)
Load the DIIS object from disk.
int getNumVarsParam() const
Get the number of variables in the parameter vectors.
void saveDIIS(const string filename=DMRGSCF_diis_storage_name) const
Save the DIIS object to disk.
virtual ~DIIS()
Destructor.
double * getLastLinco()
Get pointer to the last linco of parameter vectors.
void calculateParam(double *newParam)
Calculate the new parameter vector, based on the just appended error and parameter vectors...
int getCurrentNumVecs() const
Get the current number of vectors which are used for DIIS.
int getNumVecs() const
Get the max. number of parameter and error vectors which are kept.