![]()  | 
  
    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.
 Here is the caller graph for this function:| 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.
 Here is the caller graph for this function: