CheMPS2
|
#include <FourIndex.h>
Public Member Functions | |
FourIndex (const int nGroup, const int *IrrepSizes) | |
Constructor. More... | |
virtual | ~FourIndex () |
Destructor. | |
void | Clear () |
Set all two-body matrix elements to zero. | |
void | set (const int irrep_i, const int irrep_j, const int irrep_k, const int irrep_l, const int i, const int j, const int k, const int l, const double val) |
Set an element. More... | |
void | add (const int irrep_i, const int irrep_j, const int irrep_k, const int irrep_l, const int i, const int j, const int k, const int l, const double val) |
Add a double to an element. More... | |
double | get (const int irrep_i, const int irrep_j, const int irrep_k, const int irrep_l, const int i, const int j, const int k, const int l) const |
Get an element. More... | |
int | get_irrep_size (const int irrep) const |
Get a given irrep size. More... | |
void | save (const std::string name) const |
Save the FourIndex object. More... | |
void | read (const std::string name) |
Load the FourIndex object. More... | |
FourIndex class.
Container class for four-index tensors with Abelian point group symmetry (real character table; see Irreps.h): 2-particle matrix elements. The four-index tensor element V_ijkl has 8-fold permutation symmetry and is only nonzero when I_i x I_j = I_k x I_l. To clarify the convention, the potential energy is given:
.
Hence in physics notation, i.e. with i and k the same integration coordinate for the electron repulsion integrals.
Definition at line 34 of file FourIndex.h.
CheMPS2::FourIndex::FourIndex | ( | const int | nGroup, |
const int * | IrrepSizes | ||
) |
Constructor.
nGroup | The symmetry group number (see Irreps.h) |
IrrepSizes | Array with length the number of irreps of the specified group, containing the number of orbitals of that irrep |
Definition at line 34 of file FourIndex.cpp.
void CheMPS2::FourIndex::add | ( | const int | irrep_i, |
const int | irrep_j, | ||
const int | irrep_k, | ||
const int | irrep_l, | ||
const int | i, | ||
const int | j, | ||
const int | k, | ||
const int | l, | ||
const double | val | ||
) |
Add a double to an element.
irrep_i | The irrep number of the first orbital (see Irreps.h) |
irrep_j | The irrep number of the second orbital |
irrep_k | The irrep number of the third orbital |
irrep_l | The irrep number of the fourth orbital |
i | The first index (within the symmetry block) |
j | The second index (within the symmetry block) |
k | The third index (within the symmetry block) |
l | The fourth index (within the symmetry block) |
val | The value which should be added to the matrixelement |
Definition at line 169 of file FourIndex.cpp.
double CheMPS2::FourIndex::get | ( | const int | irrep_i, |
const int | irrep_j, | ||
const int | irrep_k, | ||
const int | irrep_l, | ||
const int | i, | ||
const int | j, | ||
const int | k, | ||
const int | l | ||
) | const |
Get an element.
irrep_i | The irrep number of the first orbital (see Irreps.h) |
irrep_j | The irrep number of the second orbital |
irrep_k | The irrep number of the third orbital |
irrep_l | The irrep number of the fourth orbital |
i | The first index (within the symmetry block) |
j | The second index (within the symmetry block) |
k | The third index (within the symmetry block) |
l | The fourth index (within the symmetry block) |
Definition at line 175 of file FourIndex.cpp.
int CheMPS2::FourIndex::get_irrep_size | ( | const int | irrep | ) | const |
Get a given irrep size.
irrep | The irrep for which you want to know the irrep size |
Definition at line 294 of file FourIndex.cpp.
void CheMPS2::FourIndex::read | ( | const std::string | name | ) |
Load the FourIndex object.
name | filename |
Definition at line 372 of file FourIndex.cpp.
void CheMPS2::FourIndex::save | ( | const std::string | name | ) | const |
Save the FourIndex object.
name | filename |
Definition at line 314 of file FourIndex.cpp.
void CheMPS2::FourIndex::set | ( | const int | irrep_i, |
const int | irrep_j, | ||
const int | irrep_k, | ||
const int | irrep_l, | ||
const int | i, | ||
const int | j, | ||
const int | k, | ||
const int | l, | ||
const double | val | ||
) |
Set an element.
irrep_i | The irrep number of the first orbital (see Irreps.h) |
irrep_j | The irrep number of the second orbital |
irrep_k | The irrep number of the third orbital |
irrep_l | The irrep number of the fourth orbital |
i | The first index (within the symmetry block) |
j | The second index (within the symmetry block) |
k | The third index (within the symmetry block) |
l | The fourth index (within the symmetry block) |
val | The value to which the element of the matrix should be set |
Definition at line 163 of file FourIndex.cpp.