| 
    pomerol
    2.2
    
   | 
 
A special case of a monomial operator: A single fermion creation or annihilation operator \(\hat F_i\). More...
#include <MonomialOperator.hpp>


Public Member Functions | |
| template<typename ScalarType , typename... IndexTypes> | |
| FieldOperator (libcommute::expression< ScalarType, IndexTypes... > const &FO, 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 (RealType Tolerance=1e-8, 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 or annihilation operator \(\hat F_i\).
Definition at line 211 of file MonomialOperator.hpp.
      
  | 
  inline | 
Constructor.
| ScalarType | Scalar type (either double or std::complex<double>) of the expression FO.  | 
| IndexTypes | Types of indices carried by operators in the expression FO.  | 
| [in] | FO | Expression of the field operator \(\hat F_i\). | 
| [in] | HS | Hilbert space. | 
| [in] | S | Information about invariant subspaces of the Hamiltonian. | 
| [in] | H | The Hamiltonian. | 
| [in] | Index | The single-particle index \(i\). | 
FO is a field operator. Definition at line 226 of file MonomialOperator.hpp.
      
  | 
  inline | 
Return the single-particle index \(i\).
Definition at line 238 of file MonomialOperator.hpp.