Majoranapp
A C++ library for studying MZM in non-interacting systems
KineticTerm.hpp
Go to the documentation of this file.
1 #ifndef SPINLESSFILLER_KINETICTERM_HPP
2 #define SPINLESSFILLER_KINETICTERM_HPP
3 
4 #include "../Hamiltonian.hpp"
5 #include "../EnumGamma.hpp"
6 #include "../SpinfullFiller/KineticTerm.hpp"
7 
8 
9 namespace Spinless
10 {
11 
27 {
28 public:
38  template <class T>
39  static void Fill(Hamiltonian<T> &ham, double t_integral,int i, int j)
40  {
41  ham.InsertBlock(Gamma::UpPlus, i, Gamma::UpMinus, j, -0.5 * t_integral);
42  ham.InsertBlock(Gamma::UpPlus, j, Gamma::UpMinus, i, -0.5 * t_integral);
43  }
44 
45  static const std::string name;
46  static constexpr size_t locality{2};
47 };
48 
50 
51 }
52 
53 #endif
Definition: ChemicalTerm.hpp:8
Hamiltonian class for counting MZM in non-interacting systems.
Definition: Hamiltonian.hpp:13
static const std::string name
Definition: KineticTerm.hpp:45
static const std::string name
Definition: KineticTerm.hpp:45
static void Fill(Hamiltonian< T > &ham, double t_integral, int i, int j)
Filler.
Definition: KineticTerm.hpp:39
void InsertBlock(Gamma gammai, int i, Gamma gammaj, int j, double value)
insert block: value * gamma_i^alpha gamma_j^beta
Definition: Hamiltonian.hpp:59
static constexpr size_t locality
Definition: KineticTerm.hpp:46
kinetic term
Definition: KineticTerm.hpp:26