pomerol  2.1
Public Member Functions

A special case of a monomial operator: A single fermion creation operator \(c^\dagger_i\). More...

#include <MonomialOperator.hpp>

Inheritance diagram for Pomerol::CreationOperator:
Inheritance graph
[legend]
Collaboration diagram for Pomerol::CreationOperator:
Collaboration graph
[legend]

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...
 
MonomialOperatorPartgetPartFromLeftIndex (BlockNumber LeftIndex)
 
MonomialOperatorPart const & getPartFromLeftIndex (BlockNumber LeftIndex) const
 
MonomialOperatorPartgetPartFromRightIndex (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, BlockNumbermapPartsFromRight
 A map between positions of parts in the parts list and the respective right subspace indices. More...
 
std::unordered_map< std::size_t, BlockNumbermapPartsFromLeft
 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< MonomialOperatorPartparts
 List of parts (matrix blocks). More...
 
- Protected Attributes inherited from Pomerol::ComputableObject
StatusEnum Status = Constructed
 Current computation status. More...
 

Detailed Description

A special case of a monomial operator: A single fermion creation operator \(c^\dagger_i\).

Definition at line 209 of file MonomialOperator.hpp.

Constructor & Destructor Documentation

◆ CreationOperator()

template<typename... IndexTypes>
Pomerol::CreationOperator::CreationOperator ( IndexClassification< IndexTypes... > const &  IndexInfo,
HilbertSpace< IndexTypes... > const &  HS,
StatesClassification const &  S,
Hamiltonian const &  H,
ParticleIndex  Index 
)
inline

Constructor.

Template Parameters
IndexTypesTypes of indices carried by operators acting in the Hilbert space HS.
Parameters
[in]IndexInfoMap for fermionic operator index tuples.
[in]HSHilbert space.
[in]SInformation about invariant subspaces of the Hamiltonian.
[in]HThe Hamiltonian.
[in]IndexThe single-particle index \(i\).

Definition at line 222 of file MonomialOperator.hpp.

Member Function Documentation

◆ getIndex()

ParticleIndex Pomerol::CreationOperator::getIndex ( ) const
inline

Return the single-particle index \(i\).

Definition at line 234 of file MonomialOperator.hpp.


The documentation for this class was generated from the following file: