|
Xped
|
#include <FermionBase.hpp>


Public Types | |
| using | Symmetry = Symmetry_ |
| using | OperatorType = SiteOperator< Scalar, Symmetry > |
| using | OperatorTypeC = SiteOperator< std::complex< Scalar >, Symmetry > |
| using | qType = typename Symmetry::qType |
Public Member Functions | |
| FermionBase ()=default | |
| FermionBase (std::size_t L_input, bool REMOVE_DOUBLE=false, bool REMVOVE_EMPTY=false, bool REMOVE_SINGLE=false) | |
| std::size_t | dim () const |
| std::size_t | orbitals () const |
| OperatorType | Id (std::size_t orbital=0) const |
| Qbasis< Symmetry, 1 > | get_basis () const |
| template<class Dummy = Symmetry> | |
| std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), OperatorType >::type | c (std::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, std::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, std::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, std::size_t orbital=0) const |
| template<class Dummy = Symmetry> | |
| std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), OperatorType >::type | cdag (std::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, std::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, std::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, std::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, std::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 (std::size_t orbital=0) const |
| template<class Dummy = Symmetry> | |
| std::enable_if< Dummy::IS_SPIN_SU2(), OperatorType >::type | Sdag (std::size_t orbital=0) const |
| template<class Dummy = Symmetry> | |
| std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type | Sz (std::size_t orbital=0) const |
| template<class Dummy = Symmetry> | |
| std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type | Sp (std::size_t orbital=0) const |
| template<class Dummy = Symmetry> | |
| std::enable_if<!Dummy::IS_SPIN_SU2(), OperatorType >::type | Sm (std::size_t orbital=0) const |
| template<class Dummy = Symmetry> | |
| std::enable_if< Dummy::NO_SPIN_SYM(), OperatorType >::type | Sx (std::size_t orbital=0) const |
| template<class Dummy = Symmetry> | |
| std::enable_if< Dummy::NO_SPIN_SYM(), OperatorTypeC >::type | Sy (std::size_t orbital=0) const |
| template<class Dummy = Symmetry> | |
| std::enable_if< Dummy::NO_SPIN_SYM(), OperatorType >::type | iSy (std::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 (std::size_t orbital=0) const |
| template<class Dummy = Symmetry> | |
| std::enable_if< Dummy::IS_CHARGE_SU2(), OperatorType >::type | Tdag (std::size_t orbital=0) const |
| template<class Dummy = Symmetry> | |
| std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type | Tz (std::size_t orbital=0) const |
| template<class Dummy = Symmetry> | |
| std::enable_if< Dummy::NO_CHARGE_SYM(), OperatorType >::type | Tx (std::size_t orbital=0, SUB_LATTICE G=A) const |
| template<class Dummy = Symmetry> | |
| std::enable_if< Dummy::NO_CHARGE_SYM(), OperatorType >::type | iTy (std::size_t orbital=0, SUB_LATTICE G=A) const |
| template<class Dummy = Symmetry> | |
| std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type | Tp (std::size_t orbital=0, SUB_LATTICE G=A) const |
| template<class Dummy = Symmetry> | |
| std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type | Tm (std::size_t orbital=0, SUB_LATTICE G=A) const |
| template<class Dummy = Symmetry> | |
| std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type | cc (std::size_t orbital=0) const |
| template<class Dummy = Symmetry> | |
| std::enable_if<!Dummy::IS_CHARGE_SU2(), OperatorType >::type | cdagcdag (std::size_t orbital=0) const |
Public Member Functions inherited from Xped::Fermion< Symmetry_ > | |
| Fermion () | |
| Fermion (bool REMOVE_DOUBLE, bool REMOVE_EMPTY, bool REMOVE_SINGLE, bool CONSIDER_SPIN=true, bool CONSIDER_CHARGE=true) | |
| 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 |
| OperatorType | Tz_1s () const |
| OperatorType | cc_1s () const |
| OperatorType | cdagcdag_1s () const |
| Qbasis< Symmetry, 1 > | basis_1s () const |
Additional Inherited Members | |
Protected Member Functions inherited from Xped::Fermion< Symmetry_ > | |
| void | fill_basis (bool REMOVE_DOUBLE, bool REMOVE_EMPTY, bool REMOVE_SINGLE) |
| void | fill_SiteOps (bool REMOVE_DOUBLE, bool REMOVE_EMPTY, bool REMOVE_SINGLE) |
| qType | getQ (SPIN_INDEX sigma, int Delta) const |
| qType | getQ (SPINOP_LABEL Sa) const |
Protected Attributes inherited from Xped::Fermion< Symmetry_ > | |
| Qbasis< Symmetry, 1 > | basis_1s_ |
| std::unordered_map< std::string, std::pair< qType, std::size_t > > | labels |
| std::size_t | sp_index = 0 |
| std::size_t | ch_index = 0 |
| bool | HAS_SPIN |
| bool | HAS_CHARGE |
| 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_ |
| OperatorType | Tz_1s_ |
| OperatorType | cc_1s_ |
| OperatorType | cdagcdag_1s_ |
This class provides the local operators for fermions.
| using Xped::FermionBase< Symmetry_ >::OperatorType = SiteOperator<Scalar, Symmetry> |
| using Xped::FermionBase< Symmetry_ >::OperatorTypeC = SiteOperator<std::complex<Scalar>, Symmetry> |
| using Xped::FermionBase< Symmetry_ >::qType = typename Symmetry::qType |
| using Xped::FermionBase< Symmetry_ >::Symmetry = Symmetry_ |
|
default |
| Xped::FermionBase< Symmetry >::FermionBase | ( | std::size_t | L_input, |
| bool | REMOVE_DOUBLE = false, |
||
| bool | REMVOVE_EMPTY = false, |
||
| bool | REMOVE_SINGLE = false |
||
| ) |
| L_input | : the amount of orbitals |

| std::enable_if<!Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::c | ( | SPIN_INDEX | sigma, |
| std::size_t | orbital = 0 |
||
| ) | const |
| std::enable_if< Dummy::IS_CHARGE_SU2() and!Dummy::IS_SPIN_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::c | ( | SPIN_INDEX | sigma, |
| SUB_LATTICE | G, | ||
| std::size_t | orbital = 0 |
||
| ) | const |
| std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::c | ( | std::size_t | orbital = 0 | ) | const |
Annihilation operator
| orbital | : orbital index |

| std::enable_if< Dummy::IS_CHARGE_SU2() andDummy::IS_SPIN_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::c | ( | SUB_LATTICE | G, |
| std::size_t | orbital = 0 |
||
| ) | const |
| std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::cc | ( | std::size_t | orbital = 0 | ) | const |
Orbital pairing η
| orbital | : orbital index |

| std::enable_if<!Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::cdag | ( | SPIN_INDEX | sigma, |
| std::size_t | orbital = 0 |
||
| ) | const |
| std::enable_if< Dummy::IS_CHARGE_SU2() and!Dummy::IS_SPIN_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::cdag | ( | SPIN_INDEX | sigma, |
| SUB_LATTICE | G, | ||
| std::size_t | orbital = 0 |
||
| ) | const |
| std::enable_if< Dummy::IS_SPIN_SU2() and!Dummy::IS_CHARGE_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::cdag | ( | std::size_t | orbital = 0 | ) | const |
Creation operator.
| orbital | : orbital index |

| std::enable_if< Dummy::IS_CHARGE_SU2() andDummy::IS_SPIN_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::cdag | ( | SUB_LATTICE | G, |
| std::size_t | orbital = 0 |
||
| ) | const |
| std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::cdagcdag | ( | std::size_t | orbital = 0 | ) | const |
Orbital paring ηâ€
| orbital | : orbital index |

| std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::d | ( | std::size_t | orbital = 0 | ) | const |
Double occupation
| orbital | : orbital index |

|
inline |
amount of states
|
inline |
Creates the full Hubbard Hamiltonian on the supersite with orbital-dependent U.
| 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\) Returns the basis. |
| SiteOperator< double, Symmetry > Xped::FermionBase< Symmetry >::Id | ( | std::size_t | orbital = 0 | ) | const |
Identity

| std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::iSy | ( | std::size_t | orbital = 0 | ) | const |


| std::enable_if< Dummy::NO_CHARGE_SYM(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::iTy | ( | std::size_t | orbital = 0, |
| SUB_LATTICE | G = A |
||
| ) | const |
Isospin y-component
| orbital | : orbital index |

| std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::n | ( | SPIN_INDEX | sigma, |
| std::size_t | orbital = 0 |
||
| ) | const |
| std::enable_if< true, SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::n | ( | std::size_t | orbital = 0 | ) | const |
Occupation number operator
| orbital | : orbital index |

| SiteOperator< double, Symmetry > Xped::FermionBase< Symmetry >::nh | ( | std::size_t | orbital = 0 | ) | const |
Holon density \(n_h=2d-n-1=1-n_s\)
| orbital | : orbital index |
| SiteOperator< double, Symmetry > Xped::FermionBase< Symmetry >::ns | ( | std::size_t | orbital = 0 | ) | const |
Spinon density \(n_s=n-2d\)
| orbital | : orbital index |
|
inline |
amount of orbitals
| std::enable_if< Dummy::IS_SPIN_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::S | ( | std::size_t | orbital = 0 | ) | const |
Orbital spin
| orbital | : orbital index |
|
inline |

| std::enable_if< Dummy::IS_SPIN_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::Sdag | ( | std::size_t | orbital = 0 | ) | const |
Orbital spinâ€
| orbital | : orbital index |

| SiteOperator< double, Symmetry > Xped::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.
| orb1 | : orbital on supersite i |
| orb2 | : orbital on supersite i+1 |

| SiteOperator< double, Symmetry > Xped::FermionBase< Symmetry >::sign_local | ( | std::size_t | orbital = 0 | ) | const |
Fermionic sign for one orbital of a supersite.
| orbital | : orbital index |
| std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::Sm | ( | std::size_t | orbital = 0 | ) | const |

| std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::Sp | ( | std::size_t | orbital = 0 | ) | const |

| std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::Sx | ( | std::size_t | orbital = 0 | ) | const |


| std::enable_if< Dummy::NO_SPIN_SYM(), SiteOperator< std::complex< double >, Symmetry > >::type Xped::FermionBase< Symmetry >::Sy | ( | std::size_t | orbital = 0 | ) | const |


| std::enable_if<!Dummy::IS_SPIN_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::Sz | ( | std::size_t | orbital = 0 | ) | const |

| std::enable_if< Dummy::IS_CHARGE_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::T | ( | std::size_t | orbital = 0 | ) | const |
Orbital Isospin
| orbital | : orbital index |
| std::enable_if< Dummy::IS_CHARGE_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::Tdag | ( | std::size_t | orbital = 0 | ) | const |
Orbital Isospinâ€
| orbital | : orbital index |
|
inline |

|
inline |

| std::enable_if< Dummy::NO_CHARGE_SYM(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::Tx | ( | std::size_t | orbital = 0, |
| SUB_LATTICE | G = A |
||
| ) | const |
Isospin x-component
| orbital | : orbital index |

| std::enable_if<!Dummy::IS_CHARGE_SU2(), SiteOperator< double, Symmetry > >::type Xped::FermionBase< Symmetry >::Tz | ( | std::size_t | orbital = 0 | ) | const |
Isospin z-component
| orbital | : orbital index |
