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... | |
