SOLIDstate
A C++ library for solid state physics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | List of all members
solid::BaseState Class Reference

BaseState for HilbertSpace base. More...

#include <BaseState.hpp>

Inheritance diagram for solid::BaseState:
Inheritance graph
[legend]
Collaboration diagram for solid::BaseState:
Collaboration graph
[legend]

Public Member Functions

BaseState Reverse ()
 returns reversed BaseState More...
 
bool Hop (int start, int stop)
 Checks if particle can hop from start to stop. More...
 
bool OneBodyInteraction (int site)
 Checks if particle occupies site. More...
 
bool TwoBodyInteraction (int site1, int site2)
 Checks if particles occupy two sites. More...
 
int HopSign (int start, int stop)
 returns sign of the hopping from start to stop More...
 
void MakeHop (int start, int stop)
 perform hopping More...
 
bool CreatePairPossible (int site1, int site2)
 Checks if pair of particles can be created in site1 and site2. More...
 
void CreatePair (int site1, int site2)
 Create a Pair of particles in the given sites. More...
 
int PairSign (int site1, int site2)
 returns sign of the pairing term in site1 and site2 More...
 
bool CountParticles ()
 
bool ThreeBodyInteraction (int site1, int site2, int site3)
 
bool CreateParticle (int site1)
 
bool CreateTriple (int site1, int site2, int site3)
 

Detailed Description

BaseState for HilbertSpace base.

Member Function Documentation

bool solid::BaseState::CountParticles ( )
void solid::BaseState::CreatePair ( int  site1,
int  site2 
)

Create a Pair of particles in the given sites.

Parameters
site1site to create particle
site2site to create particle
bool solid::BaseState::CreatePairPossible ( int  site1,
int  site2 
)

Checks if pair of particles can be created in site1 and site2.

Parameters
site1site to create particle
site2site to create particle
Returns
true creation avaliable
false creation forbidden (Pauli principle)
bool solid::BaseState::CreateParticle ( int  site1)
bool solid::BaseState::CreateTriple ( int  site1,
int  site2,
int  site3 
)
bool solid::BaseState::Hop ( int  start,
int  stop 
)

Checks if particle can hop from start to stop.

Parameters
startinitial hopping index
stopfinal hopping index
Returns
true hopping avaliable
false hopping forbidden (Pauli principle)
int solid::BaseState::HopSign ( int  start,
int  stop 
)

returns sign of the hopping from start to stop

Parameters
startinitial hopping index
stopfinal hopping index
Returns
int sign of the hopping

We used the following convention for sites numbering:

  • \( |11111\cdots\,\rangle = \cdots a_3^\dagger a_2^\dagger a_1^\dagger a_0^\dagger |00000\cdots\,\rangle \)
void solid::BaseState::MakeHop ( int  start,
int  stop 
)

perform hopping

Parameters
startinitial hopping index
stopfinal hopping index
bool solid::BaseState::OneBodyInteraction ( int  site)

Checks if particle occupies site.

Parameters
sitesite to check
Returns
true particle occupies the site
false particle does not occupy the site
int solid::BaseState::PairSign ( int  site1,
int  site2 
)

returns sign of the pairing term in site1 and site2

Parameters
site1site to create particle
site2site to create particle
Returns
int sign of the pairing

We used the following convention for sites numbering:

  • \( |11111\cdots\,\rangle = \cdots a_3^\dagger a_2^\dagger a_1^\dagger a_0^\dagger |00000\cdots\,\rangle \)
    Note
    be carefull about the order of the operators, e.g. PairSign(1,2) is equivalent to the following: \(a_1^\dagger a_2^\dagger \)
BaseState solid::BaseState::Reverse ( )

returns reversed BaseState

Returns
BaseState in reversed form e.g. 000111 -> 111000
bool solid::BaseState::ThreeBodyInteraction ( int  site1,
int  site2,
int  site3 
)
bool solid::BaseState::TwoBodyInteraction ( int  site1,
int  site2 
)

Checks if particles occupy two sites.

Parameters
site1first site to check
site2other site to check
Returns
true particles occupy both sites
false particles do not occupy sites

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