![]() |
CheMPS2
|
#include <ConvergenceScheme.h>
Public Member Functions | |
| ConvergenceScheme (const int num_instructions) | |
| Constructor. More... | |
| virtual | ~ConvergenceScheme () |
| Destructor. | |
| int | get_number () const |
| Get the number of instructions. More... | |
| void | set_instruction (const int instruction, const int D, const double energy_conv, const int max_sweeps, const double noise_prefactor, const double davidson_rtol) |
| Set an instruction. More... | |
| void | setInstruction (const int instruction, const int D, const double energy_conv, const int max_sweeps, const double noise_prefactor) |
| Set an instruction. More... | |
| int | get_D (const int instruction) const |
| Get the number of renormalized states for a particular instruction. More... | |
| double | get_energy_conv (const int instruction) const |
| Get the energy convergence threshold for a particular instruction. More... | |
| int | get_max_sweeps (const int instruction) const |
| Get the maximum number of sweeps for a particular instruction. More... | |
| double | get_noise_prefactor (const int instruction) const |
| Get the noise prefactor for a particular instruction. More... | |
| double | get_dvdson_rtol (const int instruction) const |
| Get the Davidson residual tolerance for a particular instruction. More... | |
ConvergenceScheme class.
The ConvergenceScheme class contains the convergence settings. This is a list of instructions, which are performed in order. Each instruction line contains the information for one particular batch of DMRG sweeps:
(1) the number of renormalized basis states to keep (D)
(2) the energy convergence threshold for energy changes per left- and right-sweep
(3) the maximum number of iterations, in case the energy changes do not drop below the threshold
(4) the noise prefactor f
(5) the Davidson residual tolerance
The noise level which is added to the Sobject is the product of
(1) f
(2) the maximum discarded weight during the last sweep
(3) a random number in the interval [-0.5,0.5]
Definition at line 41 of file ConvergenceScheme.h.
| CheMPS2::ConvergenceScheme::ConvergenceScheme | ( | const int | num_instructions | ) |
Constructor.
| num_instructions | the number of instructions |
Definition at line 25 of file ConvergenceScheme.cpp.
| int CheMPS2::ConvergenceScheme::get_D | ( | const int | instruction | ) | const |
Get the number of renormalized states for a particular instruction.
| instruction | the number of the instruction |
Definition at line 67 of file ConvergenceScheme.cpp.
Here is the caller graph for this function:| double CheMPS2::ConvergenceScheme::get_dvdson_rtol | ( | const int | instruction | ) | const |
Get the Davidson residual tolerance for a particular instruction.
| instruction | the number of the instruction |
Definition at line 75 of file ConvergenceScheme.cpp.
Here is the caller graph for this function:| double CheMPS2::ConvergenceScheme::get_energy_conv | ( | const int | instruction | ) | const |
Get the energy convergence threshold for a particular instruction.
| instruction | the number of the instruction |
Definition at line 69 of file ConvergenceScheme.cpp.
Here is the caller graph for this function:| int CheMPS2::ConvergenceScheme::get_max_sweeps | ( | const int | instruction | ) | const |
Get the maximum number of sweeps for a particular instruction.
| instruction | the number of the instruction |
Definition at line 71 of file ConvergenceScheme.cpp.
Here is the caller graph for this function:| double CheMPS2::ConvergenceScheme::get_noise_prefactor | ( | const int | instruction | ) | const |
Get the noise prefactor for a particular instruction.
| instruction | the number of the instruction |
Definition at line 73 of file ConvergenceScheme.cpp.
Here is the caller graph for this function:| int CheMPS2::ConvergenceScheme::get_number | ( | ) | const |
Get the number of instructions.
return the number of instructions
Definition at line 48 of file ConvergenceScheme.cpp.
Here is the caller graph for this function:| void CheMPS2::ConvergenceScheme::set_instruction | ( | const int | instruction, |
| const int | D, | ||
| const double | energy_conv, | ||
| const int | max_sweeps, | ||
| const double | noise_prefactor, | ||
| const double | davidson_rtol | ||
| ) |
Set an instruction.
| instruction | the number of the instruction |
| D | the number of renormalized states for that instruction |
| energy_conv | the energy convergence threshold for that instruction |
| max_sweeps | the max. number of sweeps for that instruction |
| noise_prefactor | the noise prefactor for that instruction |
| davidson_rtol | the Davidson residual tolerance for that instruction |
Definition at line 50 of file ConvergenceScheme.cpp.
Here is the caller graph for this function:
|
inline |
Set an instruction.
| instruction | the number of the instruction |
| D | the number of renormalized states for that instruction |
| energy_conv | the energy convergence threshold for that instruction |
| max_sweeps | the max. number of sweeps for that instruction |
| noise_prefactor | the noise prefactor for that instruction |
Definition at line 71 of file ConvergenceScheme.h.
Here is the call graph for this function: