22 #include "TensorGYZ.h" 36 this->identity = identity;
44 for (
int ikappa=0; ikappa<
nKappa; ikappa++){
78 dgemm_(&trans,¬r,&dimR,&dimR,&dimL,&alpha,BlockT,&dimL,BlockT,&dimL,&beta,
storage+
kappa2index[ikappa],&dimR);
92 dgemm_(&trans,¬r,&dimR,&dimR,&dimL,&alpha,BlockT,&dimL,BlockT,&dimL,&beta,
storage+
kappa2index[ikappa],&dimR);
int index
Index of the Tensor object. For TensorT: a site index; for other tensors: a boundary index...
int * sector_nelec_up
The up particle number sector.
int gCurrentDim(const int boundary, const int N, const int TwoS, const int irrep) const
Get the current virtual dimensions.
TensorGYZ(const int boundary_index, const char identity, const SyBookkeeper *denBK)
Constructor.
void construct(TensorT *denT)
Construct a new TensorGYZ.
int * sector_spin_up
The up spin symmetry sector.
double * gStorage()
Get the pointer to the storage.
static int directProd(const int Irrep1, const int Irrep2)
Get the direct product of the irreps with numbers Irrep1 and Irrep2: a bitwise XOR for psi4's convent...
virtual ~TensorGYZ()
Destructor.
int * sector_irrep_up
The up spin symmetry sector.
const SyBookkeeper * bk_up
The bookkeeper of the upper MPS.
int * kappa2index
kappa2index[kappa] indicates the start of tensor block kappa in storage. kappa2index[nKappa] gives th...
int nKappa
Number of Tensor blocks.
int gIrrep(const int orbital) const
Get an orbital irrep.
double * storage
The actual variables. Tensor block kappa begins at storage+kappa2index[kappa] and ends at storage+kap...