Spin-restricted DIIS.
More...
#include <diis.h>
|
| rDIIS (const arma::mat &S, const arma::mat &Sinvh, bool usediis, bool c1diis, double diiseps, double diisthr, bool useadiis, bool verbose, size_t imax) |
| Constructor.
|
|
| ~rDIIS () |
| Destructor.
|
|
void | update (const arma::mat &F, const arma::mat &P, double E, double &error) |
| Add matrices to stack.
|
|
void | solve_F (arma::mat &F) |
| Compute new Fock matrix, use C1-DIIS if wanted.
|
|
void | solve_P (arma::mat &P) |
| Compute new density matrix, use C1-DIIS if wanted.
|
|
void | clear () |
| Clear Fock matrices and errors.
|
|
|
arma::vec | get_w () |
| Compute weights.
|
|
arma::vec | get_w_diis () const |
| Compute DIIS weights.
|
|
arma::vec | get_w_diis_wrk (const arma::mat &err) const |
| Compute DIIS weights, worker routine.
|
|
arma::vec | get_w_adiis () const |
| Compute ADIIS weights.
|
|
arma::vec | get_c_adiis (bool verbose=false) const |
| Solve coefficients.
|
|
| DIIS (const arma::mat &S, const arma::mat &Sinvh, bool usediis, bool c1diis, double diiseps, double diisthr, bool useadiis, bool verbose, size_t imax) |
| Constructor.
|
|
virtual | ~DIIS () |
| Destructor.
|
|
double | get_E_adiis (const arma::vec &x) const |
| Compute energy with contraction coefficients .
|
|
arma::vec | get_dEdx_adiis (const arma::vec &x) const |
| Compute derivative of energy wrt contraction coefficients.
|
|
arma::mat | S |
| Overlap matrix.
|
|
arma::mat | Sinvh |
| Half-inverse overlap matrix.
|
|
bool | usediis |
| Use DIIS?
|
|
bool | c1diis |
| C1-DIIS?
|
|
bool | useadiis |
| Use ADIIS?
|
|
bool | verbose |
| Verbose operation?
|
|
double | diiseps |
| When to start using DIIS weights.
|
|
double | diisthr |
| When to start using DIIS exclusively.
|
|
int | cooloff |
| Counter for not using DIIS.
|
|
size_t | imax |
| Maximum amount of matrices to store.
|
|
arma::vec | PiF |
| < P_i - P_n | F(D_n) > or < Pa_i - Pa_n | Fa(P_n) > + < Pb_i - Pb_n | Fb(P_n) >
|
|
arma::mat | PiFj |
| < P_i - P_n | F(D_j) - F(D_n) > or < Pa_i - Pa_n | Fa(P_j) - Fa(P_n) > + < Pb_i - Pb_n | Fb(P_j) - Fb(P_n) >
|
|
The documentation for this class was generated from the following files: