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