VMPS++
Loading...
Searching...
No Matches
FermionBase< Symmetry_ > Class Template Reference

Detailed Description

template<typename Symmetry_>
class FermionBase< Symmetry_ >

This class provides the local operators for fermions in a SU(2)⊗U(1) block representation.

Definition at line 26 of file FermionBase.h.

#include <FermionBase.h>

Inheritance diagram for FermionBase< Symmetry_ >:

Public Types

typedef Symmetry_ Symmetry
 
typedef SiteOperatorQ< Symmetry, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > > OperatorType
 
typedef SiteOperatorQ< Symmetry, Eigen::Matrix< complex< Scalar >, Eigen::Dynamic, Eigen::Dynamic > > ComplexOperatorType
 
typedef Symmetry::qType qType
 

Public Member Functions

 FermionBase ()
 
 FermionBase (std::size_t L_input, bool REMOVE_DOUBLE=false, bool REMVOVE_EMPTY=false, bool REMOVE_UP=false, bool REMOVE_DN=false, int mfactor=1, int k_input=0)
 
Index dim () const
 
std::size_t orbitals () const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry, Eigen::MatrixXcd > >::type Rcomp (SPINOP_LABEL Sa, int orbital) const
 
OperatorType Id (std::size_t orbital=0) const
 
ArrayXd ZeroField () const
 
ArrayXXd ZeroHopping () const
 
template<typename Scalar_ >
SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > HubbardHamiltonian (const Array< Scalar_, Dynamic, 1 > &Uph, const Array< Scalar_, Dynamic, Dynamic > &t, const Array< Scalar_, Dynamic, Dynamic > &V, const Array< Scalar_, Dynamic, Dynamic > &J) const
 
template<typename Scalar_ , typename Dummy = Symmetry>
std::enable_if< Dummy::ABELIAN, SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type HubbardHamiltonian (const Array< Scalar_, Dynamic, 1 > &U, const Array< Scalar_, Dynamic, 1 > &Uph, const Array< Scalar_, Dynamic, 1 > &Eorb, const Array< Scalar_, Dynamic, 1 > &Bz, const Array< Scalar_, Dynamic, Dynamic > &t, const Array< Scalar_, Dynamic, Dynamic > &V, const Array< Scalar_, Dynamic, Dynamic > &Vz, const Array< Scalar_, Dynamic, Dynamic > &Vxy, const Array< Scalar_, Dynamic, Dynamic > &Jz, const Array< Scalar_, Dynamic, Dynamic > &Jxy, const Array< Scalar_, Dynamic, Dynamic > &C) const
 
template<typename Scalar_ , typename Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type HubbardHamiltonian (const Array< Scalar_, Dynamic, 1 > &U, const Array< Scalar_, Dynamic, 1 > &Uph, const Array< Scalar_, Dynamic, 1 > &Eorb, const Array< Scalar_, Dynamic, Dynamic > &t, const Array< Scalar_, Dynamic, Dynamic > &V, const Array< Scalar_, Dynamic, Dynamic > &Vz, const Array< Scalar_, Dynamic, Dynamic > &Vxy, const Array< Scalar_, Dynamic, Dynamic > &J) const
 
template<typename Scalar_ , typename Dummy = Symmetry>
std::enable_if< Dummy::NO_SPIN_SYM() andDummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type HubbardHamiltonian (const Array< Scalar_, Dynamic, 1 > &Uph, const Array< Scalar_, Dynamic, Dynamic > &t, const Array< Scalar_, Dynamic, Dynamic > &V, const Array< Scalar_, Dynamic, Dynamic > &Jz, const Array< Scalar_, Dynamic, Dynamic > &Jxy, const Array< Scalar_, Dynamic, 1 > &Bz, const Array< Scalar_, Dynamic, 1 > &Bx) const
 
template<typename Scalar_ , typename Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_U1() andDummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type HubbardHamiltonian (const Array< Scalar_, Dynamic, 1 > &Uph, const Array< Scalar_, Dynamic, Dynamic > &t, const Array< Scalar_, Dynamic, Dynamic > &V, const Array< Scalar_, Dynamic, Dynamic > &Jz, const Array< Scalar_, Dynamic, Dynamic > &Jxy, const Array< Scalar_, Dynamic, 1 > &Bz) const
 
template<typename Scalar_ , typename Dummy = Symmetry>
std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type coupling_Bx (const Array< double, Dynamic, 1 > &Bx) const
 
template<typename Dummy = Symmetry>
std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< complex< double >,-1,-1 > > >::type coupling_By (const Array< double, Dynamic, 1 > &By) const
 
template<typename Scalar_ , typename Dummy = Symmetry>
std::enable_if< Dummy::IS_TRIVIAL, SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type coupling_singleFermion (const Array< double, Dynamic, 1 > &Fp) const
 
template<typename Scalar_ , typename Dummy = Symmetry>
std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type coupling_XYZspin (const Array< double, Dynamic, Dynamic > &Jx, const Array< double, Dynamic, Dynamic > &Jy, const Array< double, Dynamic, Dynamic > &Jz) const
 
Qbasis< Symmetryget_basis () const
 
template<typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type c (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type cdag (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type c (SPIN_INDEX sigma, std::size_t orbital) const
 
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type cdag (SPIN_INDEX sigma, std::size_t orbital) const
 
template<typename Dummy >
std::enable_if< Dummy::IS_CHARGE_SU2() and!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type c (SPIN_INDEX sigma, SUB_LATTICE G, std::size_t orbital) const
 
template<typename Dummy >
std::enable_if< Dummy::IS_CHARGE_SU2() and!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type cdag (SPIN_INDEX sigma, SUB_LATTICE G, std::size_t orbital) const
 
template<typename Dummy >
std::enable_if< Dummy::IS_CHARGE_SU2() andDummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type c (SUB_LATTICE G, std::size_t orbital) const
 
template<typename Dummy >
std::enable_if< Dummy::IS_CHARGE_SU2() andDummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type cdag (SUB_LATTICE G, std::size_t orbital) const
 
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type n (SPIN_INDEX sigma, std::size_t orbital) const
 
template<typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type S (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type Sdag (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type Sz (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< complex< double >, Eigen::Dynamic, Eigen::Dynamic > > >::type exp_ipiSz (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type Sp (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type Sm (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type Sx (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type iSy (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if< Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type T (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if< Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type Tdag (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type cc (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type cdagcdag (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type Tz (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type tz (std::size_t orbital) const
 
template<typename Dummy >
std::enable_if< Dummy::NO_CHARGE_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type Tx (std::size_t orbital, SUB_LATTICE G) const
 
template<typename Dummy >
std::enable_if< Dummy::NO_CHARGE_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type iTy (std::size_t orbital, SUB_LATTICE G) const
 
template<typename Scalar_ >
SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_, Eigen::Dynamic, Eigen::Dynamic > > HubbardHamiltonian (const Array< Scalar_, Dynamic, 1 > &Uph, const Array< Scalar_, Dynamic, Dynamic > &t, const Array< Scalar_, Dynamic, Dynamic > &V, const Array< Scalar_, Dynamic, Dynamic > &J) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), OperatorType >::type c (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), OperatorType >::type c (SPIN_INDEX sigma, size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_CHARGE_SU2() and!Dummy::IS_SPIN_SU2(), OperatorType >::type c (SPIN_INDEX sigma, SUB_LATTICE G, size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_CHARGE_SU2() andDummy::IS_SPIN_SU2(), OperatorType >::type c (SUB_LATTICE G, size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), OperatorType >::type cdag (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), OperatorType >::type cdag (SPIN_INDEX sigma, size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_CHARGE_SU2() and!Dummy::IS_SPIN_SU2(), OperatorType >::type cdag (SPIN_INDEX sigma, SUB_LATTICE G, size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_CHARGE_SU2() andDummy::IS_SPIN_SU2(), OperatorType >::type cdag (SUB_LATTICE G, size_t orbital=0) const
 
OperatorType sign (std::size_t orb1=0, std::size_t orb2=0) const
 
OperatorType sign_local (std::size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if< true, OperatorType >::type n (std::size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type n (SPIN_INDEX sigma, size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type d (std::size_t orbital=0) const
 
OperatorType ns (std::size_t orbital=0) const
 
OperatorType nh (std::size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2(), OperatorType >::type S (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2(), OperatorType >::type Sdag (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type Sz (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), ComplexOperatorType >::type exp_ipiSz (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type Sp (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type Sm (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::NO_SPIN_SYM(), OperatorType >::type Sx (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::NO_SPIN_SYM(), OperatorType >::type iSy (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type Scomp (SPINOP_LABEL Sa, int orbital) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_CHARGE_SU2(), OperatorType >::type T (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_CHARGE_SU2(), OperatorType >::type Tdag (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type Tz (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type tz (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::NO_CHARGE_SYM(), OperatorType >::type Tx (size_t orbital=0, SUB_LATTICE G=A) const
 
template<class Dummy = Symmetry>
std::enable_if< Dummy::NO_CHARGE_SYM(), OperatorType >::type iTy (size_t orbital=0, SUB_LATTICE G=A) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type Tp (size_t orbital=0, SUB_LATTICE G=A) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type Tm (size_t orbital=0, SUB_LATTICE G=A) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type cc (size_t orbital=0) const
 
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type cdagcdag (size_t orbital=0) const
 
- Public Member Functions inherited from FermionSite< Symmetry_ >
 FermionSite ()
 
 FermionSite (bool REMOVE_DOUBLE, bool REMOVE_EMPTY, bool REMOVE_UP, bool REMOVE_DN, int mfactor_input=1, int k_input=0)
 
OperatorType Id_1s () const
 
OperatorType F_1s () const
 
OperatorType c_1s (SPIN_INDEX sigma) const
 
OperatorType cdag_1s (SPIN_INDEX sigma) const
 
OperatorType n_1s () const
 
OperatorType n_1s (SPIN_INDEX sigma) const
 
OperatorType ns_1s () const
 
OperatorType nh_1s () const
 
OperatorType d_1s () const
 
OperatorType Sz_1s () const
 
OperatorType Sp_1s () const
 
OperatorType Sm_1s () const
 
ComplexOperatorType exp_ipiSz_1s () const
 
OperatorType Tz_1s () const
 
OperatorType cc_1s () const
 
OperatorType cdagcdag_1s () const
 
Qbasis< Symmetrybasis_1s () const
 

Private Types

typedef Eigen::Index Index
 
typedef double Scalar
 

Private Member Functions

OperatorType make_operator (const OperatorType &Op_1s, size_t orbital=0, bool FERMIONIC=false, string label="") const
 

Private Attributes

std::size_t N_orbitals
 
std::size_t N_states
 
Qbasis< SymmetryTensorBasis
 
OperatorType Id_vac
 
OperatorType Zero_vac
 

Additional Inherited Members

- Protected Member Functions inherited from FermionSite< Symmetry_ >
void fill_basis (bool REMOVE_DOUBLE, bool REMOVE_EMPTY, bool REMOVE_UP, bool REMOVE_DN)
 
void fill_SiteOps (bool REMOVE_DOUBLE, bool REMOVE_EMPTY, bool REMOVE_UP, bool REMOVE_DN)
 
Symmetry_::qType getQ (SPIN_INDEX sigma, int Delta) const
 
Symmetry_::qType getQ (SPINOP_LABEL Sa) const
 
- Protected Attributes inherited from FermionSite< Symmetry_ >
int mfactor = 1
 
int k = 0
 
Qbasis< Symmetrybasis_1s_
 
OperatorType Id_1s_
 
OperatorType F_1s_
 
OperatorType cup_1s_
 
OperatorType cdn_1s_
 
OperatorType cdagup_1s_
 
OperatorType cdagdn_1s_
 
OperatorType n_1s_
 
OperatorType nup_1s_
 
OperatorType ndn_1s_
 
OperatorType d_1s_
 
OperatorType Sz_1s_
 
OperatorType Sp_1s_
 
OperatorType Sm_1s_
 
ComplexOperatorType exp_ipiSz_1s_
 
OperatorType Tz_1s_
 
OperatorType cc_1s_
 
OperatorType cdagcdag_1s_
 

Member Typedef Documentation

◆ ComplexOperatorType

template<typename Symmetry_ >
typedef SiteOperatorQ<Symmetry,Eigen::Matrix<complex<Scalar>,Eigen::Dynamic,Eigen::Dynamic> > FermionBase< Symmetry_ >::ComplexOperatorType

Definition at line 35 of file FermionBase.h.

◆ Index

template<typename Symmetry_ >
typedef Eigen::Index FermionBase< Symmetry_ >::Index
private

Definition at line 28 of file FermionBase.h.

◆ OperatorType

template<typename Symmetry_ >
typedef SiteOperatorQ<Symmetry,Eigen::Matrix<Scalar,Eigen::Dynamic,Eigen::Dynamic> > FermionBase< Symmetry_ >::OperatorType

Definition at line 34 of file FermionBase.h.

◆ qType

template<typename Symmetry_ >
typedef Symmetry::qType FermionBase< Symmetry_ >::qType

Definition at line 36 of file FermionBase.h.

◆ Scalar

template<typename Symmetry_ >
typedef double FermionBase< Symmetry_ >::Scalar
private

Definition at line 29 of file FermionBase.h.

◆ Symmetry

template<typename Symmetry_ >
typedef Symmetry_ FermionBase< Symmetry_ >::Symmetry

Definition at line 33 of file FermionBase.h.

Constructor & Destructor Documentation

◆ FermionBase() [1/2]

template<typename Symmetry_ >
FermionBase< Symmetry_ >::FermionBase ( )
inline

Definition at line 38 of file FermionBase.h.

◆ FermionBase() [2/2]

template<typename Symmetry_ >
FermionBase< Symmetry_ >::FermionBase ( std::size_t  L_input,
bool  REMOVE_DOUBLE = false,
bool  REMVOVE_EMPTY = false,
bool  REMOVE_UP = false,
bool  REMOVE_DN = false,
int  mfactor = 1,
int  k_input = 0 
)
Parameters
L_input: the amount of orbitals
U_IS_INFINITE: if true, eliminates doubly-occupied sites from the basis

Definition at line 373 of file FermionBase.h.

Member Function Documentation

◆ c() [1/8]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), OperatorType >::type FermionBase< Symmetry_ >::c ( size_t  orbital = 0) const

Annihilation operator

Parameters
orbital: orbital index
Note
The annihilation spinor is build as follows $c^{1/2} = \left(
\begin{array}{c}
-c_{\downarrow} \\
 c_{\uparrow} \\
\end{array}
\right)$ where the upper component corresponds to $ m=+1/2$ and the lower to $ m=-1/2$.

◆ c() [2/8]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), OperatorType >::type FermionBase< Symmetry_ >::c ( SPIN_INDEX  sigma,
size_t  orbital = 0 
) const

Annihilation operator

Parameters
orbital: orbital index
Note
The annihilation spinor is build as follows $c^{1/2} = \left(
\begin{array}{c}
-c_{\downarrow} \\
 c_{\uparrow} \\
\end{array}
\right)$ where the upper component corresponds to $ m=+1/2$ and the lower to $ m=-1/2$.

◆ c() [3/8]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::c ( SPIN_INDEX  sigma,
std::size_t  orbital 
) const

Definition at line 453 of file FermionBase.h.

◆ c() [4/8]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_CHARGE_SU2() and!Dummy::IS_SPIN_SU2(), OperatorType >::type FermionBase< Symmetry_ >::c ( SPIN_INDEX  sigma,
SUB_LATTICE  G,
size_t  orbital = 0 
) const

Annihilation operator

Parameters
orbital: orbital index
Note
The annihilation spinor is build as follows $c^{1/2} = \left(
\begin{array}{c}
-c_{\downarrow} \\
 c_{\uparrow} \\
\end{array}
\right)$ where the upper component corresponds to $ m=+1/2$ and the lower to $ m=-1/2$.

◆ c() [5/8]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::IS_CHARGE_SU2() and!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::c ( SPIN_INDEX  sigma,
SUB_LATTICE  G,
std::size_t  orbital 
) const

Definition at line 474 of file FermionBase.h.

◆ c() [6/8]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::c ( std::size_t  orbital) const

Definition at line 436 of file FermionBase.h.

◆ c() [7/8]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_CHARGE_SU2() andDummy::IS_SPIN_SU2(), OperatorType >::type FermionBase< Symmetry_ >::c ( SUB_LATTICE  G,
size_t  orbital = 0 
) const

Annihilation operator

Parameters
orbital: orbital index
Note
The annihilation spinor is build as follows $c^{1/2} = \left(
\begin{array}{c}
-c_{\downarrow} \\
 c_{\uparrow} \\
\end{array}
\right)$ where the upper component corresponds to $ m=+1/2$ and the lower to $ m=-1/2$.

◆ c() [8/8]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::IS_CHARGE_SU2() andDummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::c ( SUB_LATTICE  G,
std::size_t  orbital 
) const

Definition at line 495 of file FermionBase.h.

◆ cc() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type FermionBase< Symmetry_ >::cc ( size_t  orbital = 0) const

Orbital pairing η

Parameters
orbital: orbital index

◆ cc() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::cc ( std::size_t  orbital) const

Definition at line 707 of file FermionBase.h.

◆ cdag() [1/8]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), OperatorType >::type FermionBase< Symmetry_ >::cdag ( size_t  orbital = 0) const

Creation operator.

Parameters
orbital: orbital index
Note
The creation spinor is computed as $ \left(c^{1/2}\right)^\dagger$. The definition of cdag which is consistent with this computation is: $\left(c^{\dagger}\right)^{1/2} = \left(
\begin{array}{c}
 c^\dagger_{\uparrow} \\
 c^\dagger_{\downarrow} \\
\end{array}
\right)$ where the upper component corresponds to $ m=+1/2$ and the lower to $ m=-1/2$.

◆ cdag() [2/8]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), OperatorType >::type FermionBase< Symmetry_ >::cdag ( SPIN_INDEX  sigma,
size_t  orbital = 0 
) const

Annihilation operator

Parameters
orbital: orbital index
Note
The annihilation spinor is build as follows $c^{1/2} = \left(
\begin{array}{c}
-c_{\downarrow} \\
 c_{\uparrow} \\
\end{array}
\right)$ where the upper component corresponds to $ m=+1/2$ and the lower to $ m=-1/2$.

◆ cdag() [3/8]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::cdag ( SPIN_INDEX  sigma,
std::size_t  orbital 
) const

Definition at line 463 of file FermionBase.h.

◆ cdag() [4/8]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_CHARGE_SU2() and!Dummy::IS_SPIN_SU2(), OperatorType >::type FermionBase< Symmetry_ >::cdag ( SPIN_INDEX  sigma,
SUB_LATTICE  G,
size_t  orbital = 0 
) const

Annihilation operator

Parameters
orbital: orbital index
Note
The annihilation spinor is build as follows $c^{1/2} = \left(
\begin{array}{c}
-c_{\downarrow} \\
 c_{\uparrow} \\
\end{array}
\right)$ where the upper component corresponds to $ m=+1/2$ and the lower to $ m=-1/2$.

◆ cdag() [5/8]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::IS_CHARGE_SU2() and!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::cdag ( SPIN_INDEX  sigma,
SUB_LATTICE  G,
std::size_t  orbital 
) const

Definition at line 484 of file FermionBase.h.

◆ cdag() [6/8]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::cdag ( std::size_t  orbital) const

Definition at line 444 of file FermionBase.h.

◆ cdag() [7/8]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_CHARGE_SU2() andDummy::IS_SPIN_SU2(), OperatorType >::type FermionBase< Symmetry_ >::cdag ( SUB_LATTICE  G,
size_t  orbital = 0 
) const

Annihilation operator

Parameters
orbital: orbital index
Note
The annihilation spinor is build as follows $c^{1/2} = \left(
\begin{array}{c}
-c_{\downarrow} \\
 c_{\uparrow} \\
\end{array}
\right)$ where the upper component corresponds to $ m=+1/2$ and the lower to $ m=-1/2$.

◆ cdag() [8/8]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::IS_CHARGE_SU2() andDummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::cdag ( SUB_LATTICE  G,
std::size_t  orbital 
) const

Definition at line 505 of file FermionBase.h.

◆ cdagcdag() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type FermionBase< Symmetry_ >::cdagcdag ( size_t  orbital = 0) const

Orbital paring η†

Parameters
orbital: orbital index

◆ cdagcdag() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::cdagcdag ( std::size_t  orbital) const

Definition at line 715 of file FermionBase.h.

◆ coupling_Bx()

template<typename Symmetry_ >
template<typename Scalar_ , typename Dummy >
std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type FermionBase< Symmetry_ >::coupling_Bx ( const Array< double, Dynamic, 1 > &  Bx) const

Definition at line 1071 of file FermionBase.h.

◆ coupling_By()

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< complex< double >,-1,-1 > > >::type FermionBase< Symmetry_ >::coupling_By ( const Array< double, Dynamic, 1 > &  By) const

Definition at line 1087 of file FermionBase.h.

◆ coupling_singleFermion()

template<typename Symmetry_ >
template<typename Scalar_ , typename Dummy >
std::enable_if< Dummy::IS_TRIVIAL, SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type FermionBase< Symmetry_ >::coupling_singleFermion ( const Array< double, Dynamic, 1 > &  Fp) const

Definition at line 1103 of file FermionBase.h.

◆ coupling_XYZspin()

template<typename Symmetry_ >
template<typename Scalar_ , typename Dummy >
std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type FermionBase< Symmetry_ >::coupling_XYZspin ( const Array< double, Dynamic, Dynamic > &  Jx,
const Array< double, Dynamic, Dynamic > &  Jy,
const Array< double, Dynamic, Dynamic > &  Jz 
) const

Definition at line 1119 of file FermionBase.h.

◆ d()

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::d ( std::size_t  orbital = 0) const

Double occupation

Parameters
orbital: orbital index

Definition at line 578 of file FermionBase.h.

◆ dim()

template<typename Symmetry_ >
Index FermionBase< Symmetry_ >::dim ( ) const
inline

amount of states

Definition at line 47 of file FermionBase.h.

◆ exp_ipiSz() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), ComplexOperatorType >::type FermionBase< Symmetry_ >::exp_ipiSz ( size_t  orbital = 0) const

Orbital spin

Parameters
orbital: orbital index

◆ exp_ipiSz() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< complex< double >, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::exp_ipiSz ( std::size_t  orbital) const

Definition at line 636 of file FermionBase.h.

◆ get_basis()

template<typename Symmetry_ >
Qbasis< Symmetry > FermionBase< Symmetry_ >::get_basis ( ) const
inline

Returns the basis.

Definition at line 358 of file FermionBase.h.

◆ HubbardHamiltonian() [1/6]

template<typename Symmetry_ >
template<typename Scalar_ , typename Dummy >
std::enable_if< Dummy::ABELIAN, SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type FermionBase< Symmetry_ >::HubbardHamiltonian ( const Array< Scalar_, Dynamic, 1 > &  U,
const Array< Scalar_, Dynamic, 1 > &  Uph,
const Array< Scalar_, Dynamic, 1 > &  Eorb,
const Array< Scalar_, Dynamic, 1 > &  Bz,
const Array< Scalar_, Dynamic, Dynamic > &  t,
const Array< Scalar_, Dynamic, Dynamic > &  V,
const Array< Scalar_, Dynamic, Dynamic > &  Vz,
const Array< Scalar_, Dynamic, Dynamic > &  Vxy,
const Array< Scalar_, Dynamic, Dynamic > &  Jz,
const Array< Scalar_, Dynamic, Dynamic > &  Jxy,
const Array< Scalar_, Dynamic, Dynamic > &  C 
) const

Definition at line 864 of file FermionBase.h.

◆ HubbardHamiltonian() [2/6]

template<typename Symmetry_ >
template<typename Scalar_ , typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type FermionBase< Symmetry_ >::HubbardHamiltonian ( const Array< Scalar_, Dynamic, 1 > &  U,
const Array< Scalar_, Dynamic, 1 > &  Uph,
const Array< Scalar_, Dynamic, 1 > &  Eorb,
const Array< Scalar_, Dynamic, Dynamic > &  t,
const Array< Scalar_, Dynamic, Dynamic > &  V,
const Array< Scalar_, Dynamic, Dynamic > &  Vz,
const Array< Scalar_, Dynamic, Dynamic > &  Vxy,
const Array< Scalar_, Dynamic, Dynamic > &  J 
) const

Definition at line 939 of file FermionBase.h.

◆ HubbardHamiltonian() [3/6]

template<typename Symmetry_ >
template<typename Scalar_ >
SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > FermionBase< Symmetry_ >::HubbardHamiltonian ( const Array< Scalar_, Dynamic, 1 > &  Uph,
const Array< Scalar_, Dynamic, Dynamic > &  t,
const Array< Scalar_, Dynamic, Dynamic > &  V,
const Array< Scalar_, Dynamic, Dynamic > &  J 
) const

Creates the full Hubbard Hamiltonian on the supersite with orbital-dependent U.

Parameters
U: $U$ for each orbital
Uph: particle-hole symmetric $U$ for each orbital (times $(n_{\uparrow}-1/2)(n_{\downarrow}-1/2)+1/4$)
Eorb: $\varepsilon$ onsite energy for each orbital
t: $t$
V: $V$
Vz: $V_z$
Vxy: $V_{xy}$
J: $J$

◆ HubbardHamiltonian() [4/6]

template<typename Symmetry_ >
template<typename Scalar_ >
SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_, Eigen::Dynamic, Eigen::Dynamic > > FermionBase< Symmetry_ >::HubbardHamiltonian ( const Array< Scalar_, Dynamic, 1 > &  Uph,
const Array< Scalar_, Dynamic, Dynamic > &  t,
const Array< Scalar_, Dynamic, Dynamic > &  V,
const Array< Scalar_, Dynamic, Dynamic > &  J 
) const

Definition at line 783 of file FermionBase.h.

◆ HubbardHamiltonian() [5/6]

template<typename Symmetry_ >
template<typename Scalar_ , typename Dummy >
std::enable_if< Dummy::IS_SPIN_U1() andDummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type FermionBase< Symmetry_ >::HubbardHamiltonian ( const Array< Scalar_, Dynamic, 1 > &  Uph,
const Array< Scalar_, Dynamic, Dynamic > &  t,
const Array< Scalar_, Dynamic, Dynamic > &  V,
const Array< Scalar_, Dynamic, Dynamic > &  Jz,
const Array< Scalar_, Dynamic, Dynamic > &  Jxy,
const Array< Scalar_, Dynamic, 1 > &  Bz 
) const

Definition at line 1033 of file FermionBase.h.

◆ HubbardHamiltonian() [6/6]

template<typename Symmetry_ >
template<typename Scalar_ , typename Dummy >
std::enable_if< Dummy::NO_SPIN_SYM() andDummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< Scalar_,-1,-1 > > >::type FermionBase< Symmetry_ >::HubbardHamiltonian ( const Array< Scalar_, Dynamic, 1 > &  Uph,
const Array< Scalar_, Dynamic, Dynamic > &  t,
const Array< Scalar_, Dynamic, Dynamic > &  V,
const Array< Scalar_, Dynamic, Dynamic > &  Jz,
const Array< Scalar_, Dynamic, Dynamic > &  Jxy,
const Array< Scalar_, Dynamic, 1 > &  Bz,
const Array< Scalar_, Dynamic, 1 > &  Bx 
) const

Definition at line 990 of file FermionBase.h.

◆ Id()

template<typename Symmetry_ >
SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > FermionBase< Symmetry_ >::Id ( std::size_t  orbital = 0) const

Identity

Definition at line 775 of file FermionBase.h.

◆ iSy() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::NO_SPIN_SYM(), OperatorType >::type FermionBase< Symmetry_ >::iSy ( size_t  orbital = 0) const

Orbital spin

Parameters
orbital: orbital index

◆ iSy() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::iSy ( std::size_t  orbital) const

Definition at line 681 of file FermionBase.h.

◆ iTy() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::NO_CHARGE_SYM(), OperatorType >::type FermionBase< Symmetry_ >::iTy ( size_t  orbital = 0,
SUB_LATTICE  G = A 
) const

Isospin y-component

Parameters
orbital: orbital index

◆ iTy() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::NO_CHARGE_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::iTy ( std::size_t  orbital,
SUB_LATTICE  G 
) const

Definition at line 766 of file FermionBase.h.

◆ make_operator()

template<typename Symmetry_ >
SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > FermionBase< Symmetry_ >::make_operator ( const OperatorType Op_1s,
size_t  orbital = 0,
bool  FERMIONIC = false,
string  label = "" 
) const
private

Definition at line 405 of file FermionBase.h.

◆ n() [1/3]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type FermionBase< Symmetry_ >::n ( SPIN_INDEX  sigma,
size_t  orbital = 0 
) const

Annihilation operator

Parameters
orbital: orbital index
Note
The annihilation spinor is build as follows $c^{1/2} = \left(
\begin{array}{c}
-c_{\downarrow} \\
 c_{\uparrow} \\
\end{array}
\right)$ where the upper component corresponds to $ m=+1/2$ and the lower to $ m=-1/2$.

◆ n() [2/3]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::n ( SPIN_INDEX  sigma,
std::size_t  orbital 
) const

Definition at line 554 of file FermionBase.h.

◆ n() [3/3]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< true, SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::n ( std::size_t  orbital = 0) const

Occupation number operator

Parameters
orbital: orbital index

Definition at line 546 of file FermionBase.h.

◆ nh()

template<typename Symmetry_ >
SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > FermionBase< Symmetry_ >::nh ( std::size_t  orbital = 0) const

Holon density $n_h=2d-n-1=1-n_s$

Parameters
orbital: orbital index

Definition at line 570 of file FermionBase.h.

◆ ns()

template<typename Symmetry_ >
SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > FermionBase< Symmetry_ >::ns ( std::size_t  orbital = 0) const

Spinon density $n_s=n-2d$

Parameters
orbital: orbital index

Definition at line 563 of file FermionBase.h.

◆ orbitals()

template<typename Symmetry_ >
std::size_t FermionBase< Symmetry_ >::orbitals ( ) const
inline

amount of orbitals

Definition at line 50 of file FermionBase.h.

◆ Rcomp()

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< complex< double >, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::Rcomp ( SPINOP_LABEL  Sa,
int  orbital 
) const

Definition at line 586 of file FermionBase.h.

◆ S() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2(), OperatorType >::type FermionBase< Symmetry_ >::S ( size_t  orbital = 0) const

Orbital spin

Parameters
orbital: orbital index

◆ S() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::S ( std::size_t  orbital) const

Definition at line 612 of file FermionBase.h.

◆ Scomp()

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type FermionBase< Symmetry_ >::Scomp ( SPINOP_LABEL  Sa,
int  orbital 
) const
inline

Orbital spin

Parameters
orbital: orbital index

Definition at line 179 of file FermionBase.h.

◆ Sdag() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_SPIN_SU2(), OperatorType >::type FermionBase< Symmetry_ >::Sdag ( size_t  orbital = 0) const

Orbital spin†

Parameters
orbital: orbital index

◆ Sdag() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::Sdag ( std::size_t  orbital) const

Definition at line 620 of file FermionBase.h.

◆ sign()

template<typename Symmetry_ >
SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > FermionBase< Symmetry_ >::sign ( std::size_t  orb1 = 0,
std::size_t  orb2 = 0 
) const

Fermionic sign for the hopping between two orbitals of nearest-neighbour supersites of a ladder.

Parameters
orb1: orbital on supersite i
orb2: orbital on supersite i+1

Definition at line 522 of file FermionBase.h.

◆ sign_local()

template<typename Symmetry_ >
SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > FermionBase< Symmetry_ >::sign_local ( std::size_t  orbital = 0) const

Fermionic sign for one orbital of a supersite.

Parameters
orbital: orbital index

Definition at line 515 of file FermionBase.h.

◆ Sm() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type FermionBase< Symmetry_ >::Sm ( size_t  orbital = 0) const

Orbital spin

Parameters
orbital: orbital index

◆ Sm() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::Sm ( std::size_t  orbital) const

Definition at line 663 of file FermionBase.h.

◆ Sp() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type FermionBase< Symmetry_ >::Sp ( size_t  orbital = 0) const

Orbital spin

Parameters
orbital: orbital index

◆ Sp() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::Sp ( std::size_t  orbital) const

Definition at line 655 of file FermionBase.h.

◆ Sx() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::NO_SPIN_SYM(), OperatorType >::type FermionBase< Symmetry_ >::Sx ( size_t  orbital = 0) const

Orbital spin

Parameters
orbital: orbital index

◆ Sx() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::Sx ( std::size_t  orbital) const

Definition at line 671 of file FermionBase.h.

◆ Sz() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type FermionBase< Symmetry_ >::Sz ( size_t  orbital = 0) const

Orbital spin

Parameters
orbital: orbital index

◆ Sz() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::Sz ( std::size_t  orbital) const

Definition at line 628 of file FermionBase.h.

◆ T() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_CHARGE_SU2(), OperatorType >::type FermionBase< Symmetry_ >::T ( size_t  orbital = 0) const

Orbital Isospin

Parameters
orbital: orbital index

◆ T() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::T ( std::size_t  orbital) const

Definition at line 691 of file FermionBase.h.

◆ Tdag() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::IS_CHARGE_SU2(), OperatorType >::type FermionBase< Symmetry_ >::Tdag ( size_t  orbital = 0) const

Orbital Isospin†

Parameters
orbital: orbital index

◆ Tdag() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::Tdag ( std::size_t  orbital) const

Definition at line 699 of file FermionBase.h.

◆ Tm()

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type FermionBase< Symmetry_ >::Tm ( size_t  orbital = 0,
SUB_LATTICE  G = A 
) const
inline

Orbital Isospin

Parameters
orbital: orbital index

Definition at line 251 of file FermionBase.h.

◆ Tp()

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type FermionBase< Symmetry_ >::Tp ( size_t  orbital = 0,
SUB_LATTICE  G = A 
) const
inline

Orbital Isospin

Parameters
orbital: orbital index

Definition at line 244 of file FermionBase.h.

◆ Tx() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if< Dummy::NO_CHARGE_SYM(), OperatorType >::type FermionBase< Symmetry_ >::Tx ( size_t  orbital = 0,
SUB_LATTICE  G = A 
) const

Isospin x-component

Parameters
orbital: orbital index

◆ Tx() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if< Dummy::NO_CHARGE_SYM(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::Tx ( std::size_t  orbital,
SUB_LATTICE  G 
) const

Definition at line 756 of file FermionBase.h.

◆ Tz() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type FermionBase< Symmetry_ >::Tz ( size_t  orbital = 0) const

Isospin z-component

Parameters
orbital: orbital index

◆ tz() [1/2]

template<typename Symmetry_ >
template<class Dummy = Symmetry>
std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type FermionBase< Symmetry_ >::tz ( size_t  orbital = 0) const

Orbital Isospin

Parameters
orbital: orbital index

◆ Tz() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::Tz ( std::size_t  orbital) const

Definition at line 736 of file FermionBase.h.

◆ tz() [2/2]

template<typename Symmetry_ >
template<typename Dummy >
std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperatorQ< Symmetry_, Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > > >::type FermionBase< Symmetry_ >::tz ( std::size_t  orbital) const

Definition at line 746 of file FermionBase.h.

◆ ZeroField()

template<typename Symmetry_ >
ArrayXd FermionBase< Symmetry_ >::ZeroField ( ) const
inline

Returns an array of size dim() with zeros.

Definition at line 277 of file FermionBase.h.

◆ ZeroHopping()

template<typename Symmetry_ >
ArrayXXd FermionBase< Symmetry_ >::ZeroHopping ( ) const
inline

Returns an array of size dim()xdim() with zeros.

Definition at line 280 of file FermionBase.h.

Member Data Documentation

◆ Id_vac

template<typename Symmetry_ >
OperatorType FermionBase< Symmetry_ >::Id_vac
private

Definition at line 369 of file FermionBase.h.

◆ N_orbitals

template<typename Symmetry_ >
std::size_t FermionBase< Symmetry_ >::N_orbitals
private

Definition at line 363 of file FermionBase.h.

◆ N_states

template<typename Symmetry_ >
std::size_t FermionBase< Symmetry_ >::N_states
private

Definition at line 364 of file FermionBase.h.

◆ TensorBasis

template<typename Symmetry_ >
Qbasis<Symmetry> FermionBase< Symmetry_ >::TensorBasis
private

Definition at line 366 of file FermionBase.h.

◆ Zero_vac

template<typename Symmetry_ >
OperatorType FermionBase< Symmetry_ >::Zero_vac
private

Definition at line 369 of file FermionBase.h.


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