20 #ifndef SYBOOKKEEPER_CHEMPS2_H 21 #define SYBOOKKEEPER_CHEMPS2_H 61 int gIrrep(
const int orbital )
const;
82 int gNmin(
const int boundary )
const;
87 int gNmax(
const int boundary )
const;
93 int gTwoSmin(
const int boundary,
const int N )
const;
99 int gTwoSmax(
const int boundary,
const int N )
const;
107 int gFCIdim(
const int boundary,
const int N,
const int TwoS,
const int irrep )
const;
115 int gCurrentDim(
const int boundary,
const int N,
const int TwoS,
const int irrep )
const;
127 void SetDim(
const int boundary,
const int N,
const int TwoS,
const int irrep,
const int value );
143 void restart(
const int start,
const int stop,
const int virtual_dim );
172 void allocate_arrays();
176 void fill_fci_dim_right(
int **** storage,
const int start,
const int stop );
177 void fill_fci_dim_left(
int **** storage,
const int start,
const int stop );
180 int gDimPrivate(
int **** storage,
const int boundary,
const int N,
const int TwoS,
const int irrep )
const;
183 void ScaleCURdim(
const int virtual_dim,
const int start,
const int stop );
186 void CopyDim(
int **** origin,
int **** target );
int gNmin(const int boundary) const
Get the min. possible particle number for a certain boundary.
int gTotDimAtBound(const int boundary) const
Get the total reduced virtual dimension at a certain boundary.
SyBookkeeper(const Problem *Prob, const int D)
Constructor.
int gFCIdim(const int boundary, const int N, const int TwoS, const int irrep) const
Get the FCI virtual dimensions ( bound by SYBK_dimensionCutoff )
int gCurrentDim(const int boundary, const int N, const int TwoS, const int irrep) const
Get the current virtual dimensions.
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 dimensi...
int gTwoS() const
Get twice the targeted spin.
virtual ~SyBookkeeper()
Destructor.
const Problem * gProb() const
Get the problem.
int gTwoSmin(const int boundary, const int N) const
Get the minimum possible spin value for a certain boundary and particle number.
int gTwoSmax(const int boundary, const int N) const
Get the maximum possible spin value for a certain boundary and particle number.
int gIrrep() const
Get the targeted irrep.
bool IsPossible() const
Get whether the desired symmetry sector is possible.
int getNumberOfIrreps() const
Get the total number of irreps.
int gL() const
Get the number of orbitals.
int gMaxDimAtBound(const int boundary) const
Get the maximum virtual dimension at a certain boundary.
int gNmax(const int boundary) const
Get the max. possible particle number for a certain boundary.
void SetDim(const int boundary, const int N, const int TwoS, const int irrep, const int value)
Get the current virtual dimensions.
int gN() const
Get the targeted particle number.