CheMPS2
CheMPS2::ConvergenceScheme Class Reference

#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...
 

Detailed Description

ConvergenceScheme class.

Author
Sebastian Wouters sebas.nosp@m.tian.nosp@m.woute.nosp@m.rs@g.nosp@m.mail..nosp@m.com
Date
November 7, 2013

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.

Constructor & Destructor Documentation

CheMPS2::ConvergenceScheme::ConvergenceScheme ( const int  num_instructions)

Constructor.

Parameters
num_instructionsthe number of instructions

Definition at line 25 of file ConvergenceScheme.cpp.

Member Function Documentation

int CheMPS2::ConvergenceScheme::get_D ( const int  instruction) const

Get the number of renormalized states for a particular instruction.

Parameters
instructionthe number of the instruction
Returns
the number of renormalized states for this 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.

Parameters
instructionthe number of the instruction
Returns
the Davidson residual tolerance for this 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.

Parameters
instructionthe number of the instruction
Returns
the energy convergence threshold for this 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.

Parameters
instructionthe number of the instruction
Returns
the maximum number of sweeps for this 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.

Parameters
instructionthe number of the instruction
Returns
the noise prefactor for this 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.

Parameters
instructionthe number of the instruction
Dthe number of renormalized states for that instruction
energy_convthe energy convergence threshold for that instruction
max_sweepsthe max. number of sweeps for that instruction
noise_prefactorthe noise prefactor for that instruction
davidson_rtolthe Davidson residual tolerance for that instruction

Definition at line 50 of file ConvergenceScheme.cpp.

+ Here is the caller graph for this function:

void CheMPS2::ConvergenceScheme::setInstruction ( const int  instruction,
const int  D,
const double  energy_conv,
const int  max_sweeps,
const double  noise_prefactor 
)
inline

Set an instruction.

Parameters
instructionthe number of the instruction
Dthe number of renormalized states for that instruction
energy_convthe energy convergence threshold for that instruction
max_sweepsthe max. number of sweeps for that instruction
noise_prefactorthe noise prefactor for that instruction

Definition at line 71 of file ConvergenceScheme.h.

+ Here is the call graph for this function:


The documentation for this class was generated from the following files: