VMPS++
Loading...
Searching...
No Matches
FermionSiteU1xU1.h
Go to the documentation of this file.
1
#ifndef FERMIONSITEU1xU1_H_
2
#define FERMIONSITEU1xU1_H_
3
4
#include "
DmrgTypedefs.h
"
5
6
#include "
symmetry/S1xS2.h
"
7
#include "
symmetry/SU2.h
"
8
#include "
symmetry/U1.h
"
9
10
#include "sites/U1Helper.h"
11
12
#include "
tensors/SiteOperatorQ.h
"
13
14
template
<
typename
Symmetry>
class
FermionSite
;
15
16
// template <>
17
// class FermionSite<Sym::S1xS2<Sym::U1<Sym::SpinU1>,Sym::U1<Sym::ChargeU1> > >
18
// {
19
// typedef double Scalar;
20
// typedef Sym::S1xS2<Sym::U1<Sym::SpinU1>,Sym::U1<Sym::ChargeU1> > Symmetry;
21
// typedef SiteOperatorQ<Symmetry,Eigen::Matrix<Scalar,Eigen::Dynamic,Eigen::Dynamic> > OperatorType;
22
// public:
23
// FermionSite() {};
24
// FermionSite(bool U_IS_INFINITE, bool UPH_IS_INFINITE);
25
26
// OperatorType Id_1s() const {return Id_1s_;}
27
// OperatorType F_1s() const {return F_1s_;}
28
29
// OperatorType c_1s(SPIN_INDEX sigma) const { if (sigma == UP) {return cup_1s_;} return cdn_1s_;}
30
// OperatorType cdag_1s(SPIN_INDEX sigma) const { if (sigma == UP) {return cup_1s_.adjoint();} return cdn_1s_.adjoint();}
31
32
// OperatorType n_1s() const {return n_1s(UP) + n_1s(DN);}
33
// OperatorType n_1s(SPIN_INDEX sigma) const { if (sigma == UP) {return nup_1s_;} return ndn_1s_;}
34
// OperatorType ns_1s() const {return n_1s() - 2.*d_1s();}
35
// OperatorType nh_1s() const {return 2.*d_1s() - n_1s() + Id_1s();}
36
// OperatorType d_1s() const {return d_1s_;}
37
38
// OperatorType Sz_1s() const {return Sz_1s_;}
39
// OperatorType Sp_1s() const {return Sp_1s_;}
40
// OperatorType Sm_1s() const {return Sm_1s_;}
41
42
// OperatorType Tz_1s() const {return 0.5*(n_1s() - Id_1s());}
43
// OperatorType cc_1s() const {return cc_1s_;}
44
// OperatorType cdagcdag_1s() const {return cdagcdag_1s_;}
45
46
// Qbasis<Symmetry> basis_1s() const {return basis_1s_;}
47
48
// template<typename Symmetry> friend void fill_SiteOps (FermionSite<Symmetry> &Site, bool U_IS_INFINITE, bool UPH_IS_INFINITE);
49
// protected:
50
51
// Qbasis<Symmetry> basis_1s_;
52
53
// OperatorType Id_1s_; //identity
54
// OperatorType F_1s_; //Fermionic sign
55
// OperatorType cup_1s_; //annihilation
56
// OperatorType cdn_1s_; //annihilation
57
58
// OperatorType n_1s_; //particle number
59
// OperatorType nup_1s_; //particle number
60
// OperatorType ndn_1s_; //particle number
61
// OperatorType d_1s_; //double occupancy
62
63
// OperatorType Sz_1s_; //orbital spin
64
// OperatorType Sp_1s_; //orbital spin
65
// OperatorType Sm_1s_; //orbital spin
66
67
// OperatorType Tz_1s_; //orbital pseude spin
68
// OperatorType cc_1s_; //pairing
69
// OperatorType cdagcdag_1s_; //pairing adjoint
70
// };
71
72
// FermionSite<Sym::S1xS2<Sym::U1<Sym::SpinU1>,Sym::U1<Sym::ChargeU1> > >::
73
// FermionSite(bool U_IS_INFINITE, bool UPH_IS_INFINITE)
74
// {
75
// //create basis for one Fermionic Site
76
// typename Symmetry::qType Q={0,0}; //empty occupied state
77
// Eigen::Index inner_dim = 1;
78
// std::vector<std::string> ident;
79
80
// if (!UPH_IS_INFINITE)
81
// {
82
// ident.push_back("empty");
83
// this->basis_1s_.push_back(Q,inner_dim,ident);
84
// ident.clear();
85
// }
86
87
// Q={+1,1}; //up spin state
88
// inner_dim = 1;
89
// ident.push_back("up");
90
// this->basis_1s_.push_back(Q,inner_dim,ident);
91
// ident.clear();
92
93
// Q={-1,1}; //down spin state
94
// inner_dim = 1;
95
// ident.push_back("dn");
96
// this->basis_1s_.push_back(Q,inner_dim,ident);
97
// ident.clear();
98
99
// if (!U_IS_INFINITE and !UPH_IS_INFINITE)
100
// {
101
// Q={0,2}; //doubly occupied state
102
// inner_dim = 1;
103
// ident.push_back("double");
104
// this->basis_1s_.push_back(Q,inner_dim,ident);
105
// ident.clear();
106
// }
107
108
// cout << "single site basis" << endl << this->basis_1s_ << endl;
109
110
// ::fill_SiteOps(*this, U_IS_INFINITE, UPH_IS_INFINITE);
111
// }
112
113
#endif
//FERMIONSITESU2xU1_H_
DmrgTypedefs.h
S1xS2.h
SU2.h
SiteOperatorQ.h
U1.h
FermionSite
Definition:
FermionSite.h:16
sites
deprecated
FermionSiteU1xU1.h
Generated by
1.9.6