MPQC  3.0.0-alpha
sc::FermionBasicNCOper< 1, FString > Class Template Reference

Public Types

typedef FString::state_index_type state_index_type
 

Public Member Functions

template<typename Int >
 FermionBasicNCOper (Int t, Int f)
 
size_t to () const
 reports the state to which this operator places a particle More...
 
const std::array< state_index_type, 1 > & cre () const
 reports the states in which particles are created More...
 
size_t from () const
 reports the state from which this operator removes a particle More...
 
const std::array< state_index_type, 1 > & ann () const
 reports the states in which particles are annihilated More...
 
void apply (FString &os) const
 applies this operator to_ FermionOccupationNBitString os. More...
 
bool apply_sign (FString &os) const
 same as apply(), but returns whether application operator changes the sign of the state; the sign changes if the number of occupied states "crossed" by the operator is odd More...
 
std::pair< bool, FString > operator() (const FString &os) const
 similar to_ apply_sign(), but keeps the argument unchanged More...
 

Static Public Attributes

static const size_t Rank = 1
 

Member Function Documentation

◆ ann()

template<typename FString >
const std::array<state_index_type,1>& sc::FermionBasicNCOper< 1, FString >::ann ( ) const
inline

reports the states in which particles are annihilated

Returns
the states in which particles are annihilated

◆ apply()

template<typename FString >
void sc::FermionBasicNCOper< 1, FString >::apply ( FString &  os) const
inline

applies this operator to_ FermionOccupationNBitString os.

to_==from_ is allowed.

Parameters
osthe FermionOccupationNBitString object
Returns
FermionOccupationNBitString obtained by removing a particle from_ from_ and adding a particle to_ to_.

◆ apply_sign()

template<typename FString >
bool sc::FermionBasicNCOper< 1, FString >::apply_sign ( FString &  os) const
inline

same as apply(), but returns whether application operator changes the sign of the state; the sign changes if the number of occupied states "crossed" by the operator is odd

Parameters
osthe FermionOccupationNBitString object
Returns
true is the sign of the state changes

◆ cre()

template<typename FString >
const std::array<state_index_type,1>& sc::FermionBasicNCOper< 1, FString >::cre ( ) const
inline

reports the states in which particles are created

Returns
the states in which particles are created

◆ from()

template<typename FString >
size_t sc::FermionBasicNCOper< 1, FString >::from ( ) const
inline

reports the state from which this operator removes a particle

Returns
the state from which this operator removes a particle

◆ operator()()

template<typename FString >
std::pair<bool,FString > sc::FermionBasicNCOper< 1, FString >::operator() ( const FString &  os) const
inline

similar to_ apply_sign(), but keeps the argument unchanged

Parameters
osthe FermionOccupationNBitString object
Returns
new pair[sign_change,FermionOccupationNBitString]

References sc::FermionBasicNCOper< Nb, FString >::apply_sign().

◆ to()

template<typename FString >
size_t sc::FermionBasicNCOper< 1, FString >::to ( ) const
inline

reports the state to which this operator places a particle

Returns
the state to which this operator places a particle

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

Generated at Sun Jan 26 2020 23:24:05 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.