1 #ifndef HILBERTSPACETABLE_H
2 #define HILBERTSPACETABLE_H
27 class HilbertSubSpace;
48 if ((abs(Q) <= MAXQ) && (abs(Sz) <= MAXSZ) && (iteration < MAXITER) && (iteration >= -1))
49 return m_hilbertSpaces[ iteration + 1 + (Q + MAXQ)*(MAXITER + 1)+ (Sz + MAXSZ)*(MAXITER + 1)*(2 * MAXQ + 1) ];
62 assert(abs(Q) <= MAXQ);
63 assert(abs(Sz) <= MAXSZ);
64 assert(iteration < MAXITER);
65 assert(iteration >= -1);
66 m_hilbertSpaces[ iteration + 1 + (Q + MAXQ)*(MAXITER + 1)+ (Sz + MAXSZ)*(MAXITER + 1)*(2 * MAXQ + 1) ] = HS;
79 #endif // HILBERTSPACETABLE_H
HilbertSubSpace * getHS(int iteration, int Q, int Sz)
returns a pointer to the HilbertSubSpace for a given iteration, charge Q and spin Sz...
Definition: hilbertspacetable.h:47
HilbertSpaceTable()
constructs a table of HilbertSubSpace instances. The size of the table is determined by MAXITER...
Definition: hilbertspacetable.cpp:5
HilbertSubSpace: Hilbert subspace for charge quantum number Q and spin Sz. This class contains the ei...
Definition: hilbertsubspace.h:28
HilbertSpaceTable: Manages the table of HilbertSubSpace instances.
Definition: hilbertspacetable.h:31
void setHS(int iteration, int Q, int Sz, HilbertSubSpace *HS)
sets the HilbertSubSpace for a given iteration, charge Q and spin Sz.
Definition: hilbertspacetable.h:61
~HilbertSpaceTable()
destructs the HilbertSubSpace table and deletes all HilberSubSpace instances.
Definition: hilbertspacetable.cpp:12