|
MPQC
2.3.1
|
The DIIS class provides DIIS extrapolation. More...
#include <diis.h>
Public Member Functions | |
| DIIS (int strt=1, int ndi=5, double dmp=0, int ngr=1, int ngrdiis=1) | |
| DIIS (StateIn &) | |
| DIIS (const Ref< KeyVal > &) | |
| The DIIS KeyVal constructor recognizes the following keywords: | |
| void | save_data_state (StateOut &) |
| Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. | |
| int | extrapolate (const Ref< SCExtrapData > &data, const Ref< SCExtrapError > &error) |
| void | start_extrapolation () |
| void | reinitialize () |
| void | print (std::ostream &=ExEnv::out0()) const |
| Override DescribedClass::print. | |
Protected Member Functions | |
| void | init () |
Protected Attributes | |
| int | start |
| int | ndiis |
| int | iter |
| int | ngroup |
| int | ngroupdiis |
| double | damping_factor |
| double * | btemp |
| double ** | bold |
| double ** | bmat |
| Ref< SCExtrapData > | dtemp_data |
| Ref< SCExtrapError > | dtemp_error |
| Ref< SCExtrapData > | Ldata |
| Ref< SCExtrapData > * | diism_data |
| Ref< SCExtrapError > * | diism_error |
The DIIS KeyVal constructor recognizes the following keywords:
nThis integer maximum number of data sets to retain. The default is 5.
startThe DIIS extrapolation will begin on the iteration given by this integer. The default is 1.
damping_factorThis nonnegative floating point number is used to dampen the DIIS extrapolation. The default is 0.0.
ngroupThe number of iterations in a DIIS group. DIIS extrapolation is only used for the first ngroupdiis of these interations. The default is 1. If ngroup is 1 and ngroupdiis is greater than 0, then DIIS will be used on all iterations after and including the start iteration.
ngroupdiisThe number of DIIS extrapolations to do at the beginning of an iteration group. See the documentation for ngroup.
| void sc::DIIS::save_data_state | ( | StateOut & | ) | [virtual] |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
This must be implemented by the derived class if the class has data.
Reimplemented from sc::SelfConsistentExtrapolation.