KronBlocksIterator Class Reference
Detailed Description
Calculates the sum of the Kronecker product of operators on two blocks following the terms of a Hamiltonian.
This routine treats the right block in inverted order. For example, given a left block of 5 sites and a right block of 3 sites, the interpretation of the output block is as follows:
L0 L1 L2 L3 L4 R2 R1 R0
Iterates through a range of basis states represented in the KronBlocks object
Definition at line 501 of file DMRGKron.hpp.
#include <DMRGKron.hpp>
Collaboration diagram for KronBlocksIterator:

Public Types | |
| typedef KronBlocksIterator | Self_t |
Public Member Functions | |
| KronBlocksIterator (const KronBlocks_t &KronBlocks, const PetscInt &GlobIdxStart, const PetscInt &GlobIdxEnd) | |
| Initialize an iterator through a range of indices. More... | |
| PetscInt | IdxStart () const |
| Gets the first quantum number block index. More... | |
| PetscInt | IdxEnd () const |
| Gets the first quantum number block index. More... | |
| PetscInt | Idx () const |
| Gets the current state index. More... | |
| PetscInt | BlockIdx () const |
| Gets the current quantum number block index. More... | |
| PetscInt | LocIdx () const |
| Gets the current local index in the quantum number block. More... | |
| PetscInt | BlockStartIdx (const PetscInt &BlockShift) const |
| Gets the column index of the starting block with a shift. More... | |
| PetscInt | BlockSize (const PetscInt &BlockShift) const |
| Gets the size of the block with a shift. More... | |
| bool | Loop () const |
| Determines whether the end of the range has not yet been reached. More... | |
| PetscInt | Steps () const |
| Gets the number of steps incremented from the starting index. More... | |
| Self_t | operator++ () |
| Overloading the ++ increment. More... | |
| PetscInt | BlockIdxLeft () const |
| Gets the block index for the left side. More... | |
| PetscInt | LocIdxLeft () const |
| Gets the local index for the left side. More... | |
| PetscInt | NumStatesRight () const |
| Gets the number of states for the right block. More... | |
| PetscInt | BlockIdxRight () const |
| Gets the block index for the right side. More... | |
| PetscInt | LocIdxRight () const |
| Gets the local index for the right side. More... | |
| PetscInt | GlobalIdxLeft () const |
| PetscInt | GlobalIdxRight () const |
| PetscBool | UpdatedBlock () const |
| Gets the update state of the block index from the previous increment. More... | |
Private Attributes | |
| const KronBlocks_t & | KronBlocks |
| Reference to the KronBlocks object on which this iterator is based on. More... | |
| PetscInt | istart_ = 0 |
| Starting index in the range [Istart, Iend) More... | |
| PetscInt | iend_ = 0 |
| The final excluded index of the range [Istart, Iend) More... | |
| PetscInt | idx_ = 0 |
| Stores the value of the current index. More... | |
| PetscInt | blockidx_ = -1 |
| The block index associated with Idx. More... | |
| PetscInt | locidx_ = 0 |
| The local index in the block associated with Idx. More... | |
| std::vector< PetscInt > | kb_size |
| Number of states in each quantum number block. More... | |
| std::vector< PetscInt > | kb_offset |
| Offset for each quantum number block. More... | |
| PetscInt | num_states = 0 |
| Total number of states. More... | |
| PetscBool | updated_block = PETSC_TRUE |
| Whether block was updated during the previous increment. More... | |
The documentation for this class was generated from the following file:
- include/DMRGKron.hpp
