CheMPS2
|
#include <ConjugateGradient.h>
Public Member Functions | |
ConjugateGradient (const int veclength_in, const double RTOL_in, const double DIAG_CUTOFF_in, const bool print_in) | |
Constructor. More... | |
virtual | ~ConjugateGradient () |
Destructor. | |
char | step (double **pointers) |
The iterator to converge the ground state vector. More... | |
int | get_num_matvec () const |
Get the number of matrix vector multiplications which have been performed. More... | |
Conjugate gradient class.
The ConjugateGradient class implements the conjugate gradient algorithm to solve the symmetric linear problem
.
With precon = 1 / sqrt( diag( operator ) ), the problem is turned into
.
Definition at line 37 of file ConjugateGradient.h.
CheMPS2::ConjugateGradient::ConjugateGradient | ( | const int | veclength_in, |
const double | RTOL_in, | ||
const double | DIAG_CUTOFF_in, | ||
const bool | print_in | ||
) |
Constructor.
veclength_in | Linear dimension of the symmetric matrix |
RTOL_in | The tolerance for the two-norm of the residual |
DIAG_CUTOFF_in | The cutoff to truncate the diagonal elements of operator |
print_in | Whether or not to print |
Definition at line 29 of file ConjugateGradient.cpp.
int CheMPS2::ConjugateGradient::get_num_matvec | ( | ) | const |
Get the number of matrix vector multiplications which have been performed.
Definition at line 61 of file ConjugateGradient.cpp.
char CheMPS2::ConjugateGradient::step | ( | double ** | pointers | ) |
The iterator to converge the ground state vector.
pointers | Array of double* of length 3 to return pointers to vectors to the caller |
Definition at line 63 of file ConjugateGradient.cpp.