pomerol
2.1
|
A special case of a monomial operator: A single fermion creation operator \(c^\dagger_i\). More...
#include <MonomialOperator.hpp>
Public Member Functions | |
template<typename... IndexTypes> | |
CreationOperator (IndexClassification< IndexTypes... > const &IndexInfo, HilbertSpace< IndexTypes... > const &HS, StatesClassification const &S, Hamiltonian const &H, ParticleIndex Index) | |
ParticleIndex | getIndex () const |
Return the single-particle index \(i\). More... | |
Public Member Functions inherited from Pomerol::MonomialOperator | |
template<typename ScalarType , typename... IndexTypes> | |
MonomialOperator (libcommute::expression< ScalarType, IndexTypes... > const &MO, HilbertSpace< IndexTypes... > const &HS, StatesClassification const &S, Hamiltonian const &H) | |
bool | isComplex () const |
Is the monomial operator a complex-valued matrix? More... | |
MonomialOperatorPart & | getPartFromLeftIndex (BlockNumber LeftIndex) |
MonomialOperatorPart const & | getPartFromLeftIndex (BlockNumber LeftIndex) const |
MonomialOperatorPart & | getPartFromRightIndex (BlockNumber RightIndex) |
MonomialOperatorPart const & | getPartFromRightIndex (BlockNumber RightIndex) const |
BlockNumber | getLeftIndex (BlockNumber RightIndex) const |
BlockNumber | getRightIndex (BlockNumber LeftIndex) const |
BlocksBimap const & | getBlockMapping () const |
template<typename... IndexTypes> | |
void | prepare (HilbertSpace< IndexTypes... > const &HS) |
void | compute (MPI_Comm const &comm=MPI_COMM_WORLD) |
Public Member Functions inherited from Pomerol::ComputableObject | |
ComputableObject ()=default | |
StatusEnum | getStatus () const |
Return the current computation status. More... | |
void | setStatus (StatusEnum Status_in) |
Additional Inherited Members | |
Public Types inherited from Pomerol::MonomialOperator | |
using | BlocksBimap = boost::bimaps::bimap< boost::bimaps::set_of< BlockNumber >, boost::bimaps::set_of< BlockNumber > > |
A bi-map container for connections between invariant subspaces established by a monomial operator. More... | |
using | BlockMapping = BlocksBimap::value_type |
A single subspace-to-subspace connection established by a monomial operator. More... | |
Public Types inherited from Pomerol::ComputableObject | |
enum | StatusEnum { Constructed, Prepared, Computed } |
Computation status of the object. More... | |
Protected Member Functions inherited from Pomerol::MonomialOperator | |
template<bool Complex> | |
LOperatorTypeRC< Complex > const & | getMOp () const |
Protected Attributes inherited from Pomerol::MonomialOperator | |
bool | MOpComplex |
Whether the MOp object is complex-valued. More... | |
std::shared_ptr< void > | MOp |
A type-erased real/complex-valued libcommute::loperator object. More... | |
bool | Complex |
Whether the stored parts are complex-valued. More... | |
StatesClassification const & | S |
Information about invariant subspaces of the Hamiltonian. More... | |
Hamiltonian const & | H |
The Hamiltonian. More... | |
std::unordered_map< std::size_t, BlockNumber > | mapPartsFromRight |
A map between positions of parts in the parts list and the respective right subspace indices. More... | |
std::unordered_map< std::size_t, BlockNumber > | mapPartsFromLeft |
A map between positions of parts in the parts list and the respective left subspace indices. More... | |
BlocksBimap | LeftRightBlocks |
Left-to-right connections between invariant subspaces established by this monomial operator. More... | |
std::vector< MonomialOperatorPart > | parts |
List of parts (matrix blocks). More... | |
Protected Attributes inherited from Pomerol::ComputableObject | |
StatusEnum | Status = Constructed |
Current computation status. More... | |
A special case of a monomial operator: A single fermion creation operator \(c^\dagger_i\).
Definition at line 209 of file MonomialOperator.hpp.
|
inline |
Constructor.
IndexTypes | Types of indices carried by operators acting in the Hilbert space HS . |
[in] | IndexInfo | Map for fermionic operator index tuples. |
[in] | HS | Hilbert space. |
[in] | S | Information about invariant subspaces of the Hamiltonian. |
[in] | H | The Hamiltonian. |
[in] | Index | The single-particle index \(i\). |
Definition at line 222 of file MonomialOperator.hpp.
|
inline |
Return the single-particle index \(i\).
Definition at line 234 of file MonomialOperator.hpp.