Detailed Description
Implementation of the Kronecker product routines such as KronBlocks_t that use symmetries in the QuantumNumbers class.
Classes | |
struct | KronSumTerm |
A single term of the KronSum. More... | |
struct | KronSumCtx |
Context struct for the KronSumShell matrix. More... | |
struct | KronSumTermRow |
Context structure defining a single row of KronSumShell. More... | |
struct | KronSumShellCtx |
Context for the shell matrix object. More... | |
class | KronBlocks_t |
A container of ordered KronBlock_t objects representing a Kronecker product structure. More... | |
class | KronBlocksIterator |
Calculates the sum of the Kronecker product of operators on two blocks following the terms of a Hamiltonian. More... | |
Typedefs | |
typedef std::tuple< PetscReal, PetscInt, PetscInt, PetscInt > | KronBlock_t |
Storage for information on resulting blocks of quantum numbers stored as a tuple for quick sorting. More... | |
Functions | |
PETSC_EXTERN PetscErrorCode | MatMult_KronSumShell (Mat A, Vec x, Vec y) |
PetscErrorCode | MatDestroy_KronSumShell (Mat *p_mat) |
PetscErrorCode | KronEye_Explicit (Block::SpinBase &LeftBlock, Block::SpinBase &RightBlock, const std::vector< Hamiltonians::Term > &Terms, Block::SpinBase &BlockOut) |
Calculates a new block combining two spin-1/2 blocks. More... | |