CheMPS2
CheMPS2::SyBookkeeper Class Reference

#include <SyBookkeeper.h>

Public Member Functions

 SyBookkeeper (const Problem *Prob, const int D)
 Constructor. More...
 
 SyBookkeeper (const SyBookkeeper &tocopy)
 Copy constructor. More...
 
virtual ~SyBookkeeper ()
 Destructor.
 
const ProblemgProb () const
 Get the problem. More...
 
int gL () const
 Get the number of orbitals. More...
 
int gIrrep (const int orbital) const
 Get an orbital irrep. More...
 
int gTwoS () const
 Get twice the targeted spin. More...
 
int gN () const
 Get the targeted particle number. More...
 
int gIrrep () const
 Get the targeted irrep. More...
 
int getNumberOfIrreps () const
 Get the total number of irreps. More...
 
int gNmin (const int boundary) const
 Get the min. possible particle number for a certain boundary. More...
 
int gNmax (const int boundary) const
 Get the max. possible particle number for a certain boundary. More...
 
int gTwoSmin (const int boundary, const int N) const
 Get the minimum possible spin value for a certain boundary and particle number. More...
 
int gTwoSmax (const int boundary, const int N) const
 Get the maximum possible spin value for a certain boundary and particle number. More...
 
int gFCIdim (const int boundary, const int N, const int TwoS, const int irrep) const
 Get the FCI virtual dimensions ( bound by SYBK_dimensionCutoff ) More...
 
int gCurrentDim (const int boundary, const int N, const int TwoS, const int irrep) const
 Get the current virtual dimensions. More...
 
bool IsPossible () const
 Get whether the desired symmetry sector is possible. More...
 
void SetDim (const int boundary, const int N, const int TwoS, const int irrep, const int value)
 Get the current virtual dimensions. More...
 
int gMaxDimAtBound (const int boundary) const
 Get the maximum virtual dimension at a certain boundary. More...
 
int gTotDimAtBound (const int boundary) const
 Get the total reduced virtual dimension at a certain boundary. More...
 
void restart (const int start, const int stop, const int virtual_dim)
 Restart by setting the virtual dimensions from boundary start to boundary stop to FCI virtual dimensions based on the environment. More...
 

Detailed Description

SyBookkeeper class.

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

The SyBookkeeper class keeps track of all the symmetry at the boundaries. This includes:

  • the FCI virtual dimensions per symmetry sector
  • an extra consistency check (next to the one in Problem.cpp) to check whether the desired symmetry in the Problem class is possible (non-zero FCI dimensions)
  • the current virtual dimensions per symmetry sector, so everyone can check the current dimensions here.

Definition at line 34 of file SyBookkeeper.h.

Constructor & Destructor Documentation

CheMPS2::SyBookkeeper::SyBookkeeper ( const Problem Prob,
const int  D 
)

Constructor.

Parameters
ProbThe problem to be solved
DThe initial number of reduced renormalized DMRG basis states

Definition at line 29 of file SyBookkeeper.cpp.

+ Here is the call graph for this function:

CheMPS2::SyBookkeeper::SyBookkeeper ( const SyBookkeeper tocopy)

Copy constructor.

Parameters
tocopyThe SyBookkeeper to be copied

Definition at line 51 of file SyBookkeeper.cpp.

+ Here is the call graph for this function:

Member Function Documentation

int CheMPS2::SyBookkeeper::gCurrentDim ( const int  boundary,
const int  N,
const int  TwoS,
const int  irrep 
) const

Get the current virtual dimensions.

Parameters
boundaryThe boundary index
NThe particle number
TwoSTwice the spin sector
irrepThe irrep
Returns
The corresponding current virtual dimension

Definition at line 165 of file SyBookkeeper.cpp.

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::getNumberOfIrreps ( ) const

Get the total number of irreps.

Returns
The number of irreps

Definition at line 153 of file SyBookkeeper.cpp.

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::gFCIdim ( const int  boundary,
const int  N,
const int  TwoS,
const int  irrep 
) const

Get the FCI virtual dimensions ( bound by SYBK_dimensionCutoff )

Parameters
boundaryThe boundary index
NThe particle number
TwoSTwice the spin sector
irrepThe irrep
Returns
The corresponding FCI virtual dimension

Definition at line 163 of file SyBookkeeper.cpp.

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::gIrrep ( const int  orbital) const

Get an orbital irrep.

Parameters
orbitalThe DMRG orbital index (because the Problem class is asked)
Returns
The irrep of the orbital

Definition at line 145 of file SyBookkeeper.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::gIrrep ( ) const

Get the targeted irrep.

Returns
The targeted irrep

Definition at line 151 of file SyBookkeeper.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::gL ( ) const

Get the number of orbitals.

Returns
The number of orbitals

Definition at line 143 of file SyBookkeeper.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::gMaxDimAtBound ( const int  boundary) const

Get the maximum virtual dimension at a certain boundary.

Parameters
boundaryThe boundary index
Returns
The maximum virtual dimension at the boundary

Definition at line 282 of file SyBookkeeper.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::gN ( ) const

Get the targeted particle number.

Returns
The targeted particle number

Definition at line 149 of file SyBookkeeper.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::gNmax ( const int  boundary) const

Get the max. possible particle number for a certain boundary.

Parameters
boundaryThe boundary index
Returns
Nmax[ bound ]

Definition at line 157 of file SyBookkeeper.cpp.

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::gNmin ( const int  boundary) const

Get the min. possible particle number for a certain boundary.

Parameters
boundaryThe boundary index ( from 0 to L ( included ) )
Returns
Nmin[ bound ]

Definition at line 155 of file SyBookkeeper.cpp.

+ Here is the caller graph for this function:

const CheMPS2::Problem * CheMPS2::SyBookkeeper::gProb ( ) const

Get the problem.

Returns
The Problem of the SyBookkeeper

Definition at line 141 of file SyBookkeeper.cpp.

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::gTotDimAtBound ( const int  boundary) const

Get the total reduced virtual dimension at a certain boundary.

Parameters
boundaryThe boundary index
Returns
The total reduced virtual dimension at the boundary

Definition at line 297 of file SyBookkeeper.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::gTwoS ( ) const

Get twice the targeted spin.

Returns
Twice the targeted spin

Definition at line 147 of file SyBookkeeper.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::gTwoSmax ( const int  boundary,
const int  N 
) const

Get the maximum possible spin value for a certain boundary and particle number.

Parameters
boundaryThe boundary index
NThe particle number
Returns
The corresponding maximum spin value

Definition at line 161 of file SyBookkeeper.cpp.

+ Here is the caller graph for this function:

int CheMPS2::SyBookkeeper::gTwoSmin ( const int  boundary,
const int  N 
) const

Get the minimum possible spin value for a certain boundary and particle number.

Parameters
boundaryThe boundary index
NThe particle number
Returns
The corresponding minimum spin value

Definition at line 159 of file SyBookkeeper.cpp.

+ Here is the caller graph for this function:

bool CheMPS2::SyBookkeeper::IsPossible ( ) const

Get whether the desired symmetry sector is possible.

Returns
Whether the desired symmetry sector is possible

Definition at line 319 of file SyBookkeeper.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CheMPS2::SyBookkeeper::restart ( const int  start,
const int  stop,
const int  virtual_dim 
)

Restart by setting the virtual dimensions from boundary start to boundary stop to FCI virtual dimensions based on the environment.

Parameters
startStart boundary index to create FCI virtual dimensions based on the environment
stopStop boundary index to create FCI virtual dimensions based on the environment
virtual_dimThe total virtual dimension to rescale the newly created symmetry sectors

Definition at line 311 of file SyBookkeeper.cpp.

+ Here is the caller graph for this function:

void CheMPS2::SyBookkeeper::SetDim ( const int  boundary,
const int  N,
const int  TwoS,
const int  irrep,
const int  value 
)

Get the current virtual dimensions.

Parameters
boundaryThe boundary index
NThe particle number
TwoSTwice the spin sector
irrepThe irrep
valueThe new dimension size

Definition at line 167 of file SyBookkeeper.cpp.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:


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