CheMPS2
|
#include <Cumulant.h>
Static Public Member Functions | |
static double | gamma4_ham (const Problem *prob, const ThreeDM *the3DM, const TwoDM *the2DM, const int i, const int j, const int k, const int l, const int p, const int q, const int r, const int s) |
Get the cumulant approximation of , using HAM indices. More... | |
static void | gamma4_fock_contract_ham (const Problem *prob, const ThreeDM *the3DM, const TwoDM *the2DM, double *fock, double *result) |
Contract the CASPT2 Fock operator with the cumulant approximation of in time, using HAM indices. More... | |
Cumulant class.
The cumulant class contains routines to approximate the spinfree 4-RDM by neglecting the fourth order cumulant . Based on the spinfree density matrices
and the spinfree second order cumulant
the spinfree 4-RDM can be written as [CUM1]:
By neglecting , the cumulant approximation of the 4-RDM is obtained.
[CUM1] M. Saitow, Y. Kurashige and T. Yanai, Journal of Chemical Physics 139, 044118 (2013). http://dx.doi.org/10.1063/1.4816627
Definition at line 120 of file Cumulant.h.
|
static |
Contract the CASPT2 Fock operator with the cumulant approximation of in time, using HAM indices.
prob | Pointer to the DMRG problem |
the3DM | Pointer to the DMRG 3-RDM |
the2DM | Pointer to the DMRG 2-RDM |
fock | Contains the SYMMETRIC fock operator = fock[l+L*s] = fock[s+L*l] |
result | Contains the contraction: result[i+L*(j+L*(k+L*(p+L*(q+L*r))))] = |
Definition at line 84 of file Cumulant.cpp.
|
static |
Get the cumulant approximation of , using HAM indices.
prob | Pointer to the DMRG problem |
the3DM | Pointer to the DMRG 3-RDM |
the2DM | Pointer to the DMRG 2-RDM |
i | index 1 of |
j | index 2 of |
k | index 3 of |
l | index 4 of |
p | index 5 of |
q | index 6 of |
r | index 7 of |
s | index 8 of |
Definition at line 381 of file Cumulant.cpp.