Majoranapp
A C++ library for studying MZM in non-interacting systems
ProxTerm.hpp
Go to the documentation of this file.
1 #ifndef SPINFULLFILLER_PROXTERM_HPP
2 #define SPINFULLFILLER_PROXTERM_HPP
3 
4 #include "../Hamiltonian.hpp"
5 #include "../EnumGamma.hpp"
6 
7 namespace Spinfull
8 {
9 
25 class ProxTerm
26 {
27 public:
36  template <class T>
37  static void Fill(Hamiltonian<T> &ham, double delta, int i)
38  {
39  ham.InsertBlock(Gamma::UpPlus, i, Gamma::DownMinus, i, +0.5 * delta);
40  ham.InsertBlock(Gamma::DownPlus, i, Gamma::UpMinus, i, -0.5 * delta);
41  }
42 
43  static const std::string name;
44  static constexpr size_t locality{1};
45 };
46 
47 const std::string ProxTerm::name{"delta"};
48 
49 }
50 
51 #endif
Hamiltonian class for counting MZM in non-interacting systems.
Definition: Hamiltonian.hpp:13
static void Fill(Hamiltonian< T > &ham, double delta, int i)
Filler.
Definition: ProxTerm.hpp:37
proximity term
Definition: ProxTerm.hpp:25
static constexpr size_t locality
Definition: ProxTerm.hpp:44
Definition: ChemicalTerm.hpp:7
static const std::string name
Definition: ProxTerm.hpp:43
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