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.
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.
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.
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.
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.
int CheMPS2::ConvergenceScheme::get_number | ( | ) | const |
Get the number of instructions.
return the number of instructions
Definition at line 48 of file ConvergenceScheme.cpp.
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.
|
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.