Full docs for Hamiltonian
Types
These Term types may be added together freely. Multiplication with scalars works as expected. You can only impose spatial information (via multiplication with a vector or matrix respective of the type of term) once! You can only add together compatible terms in terms of spatial structure.
SpinModels.X — FunctionX(J=1)Represents a $\sigma_x^{(i)}$ term. Multiply with a vector h to get the term $\sum_i h_i \sigma_x^{(i)} .$
SpinModels.Y — FunctionY(J=1)Represents a $\sigma_y^{(i)}$ term. Multiply with a vector h to get the term $\sum_i h_i \sigma_y^{(i)} .$
SpinModels.Z — FunctionZ(J=1)Represents a $\sigma_z^{(i)}$ term. Multiply with a vector h to get the term $\sum_i h_i \sigma_z^{(i)} .$
SpinModels.XX — FunctionXX(J=1)Represents a $\sigma_x^{(i)} \sigma_x^{(j)}$ term. Multiply with a matrix J to get the term $\sum_{i\neq j} J_{ij} \sigma_x^{(i)} \sigma_x^{(j)} .$
Two-body terms do 'double-counting' of the couplings meaning the sum runs over i,j independently and not i < j.
SpinModels.YY — FunctionYY(J=1)Represents a $\sigma_y^{(i)} \sigma_y^{(j)}$ term. Multiply with a matrix J to get the term $\sum_{i\neq j} J_{ij} \sigma_y^{(i)} \sigma_y^{(j)} .$
Two-body terms do 'double-counting' of the couplings meaning the sum runs over i,j independently and not i < j.
SpinModels.ZZ — FunctionZZ(J=1)Represents a $\sigma_z^{(i)} \sigma_z^{(j)}$ term. Multiply with a matrix J to get the term $\sum_{i\neq j} J_{ij} \sigma_z^{(i)} \sigma_z^{(j)} .$
Two-body terms do 'double-counting' of the couplings meaning the sum runs over i,j independently and not i < j.
SpinModels.Hopp — FunctionHopp(J=1)Represents a $\sigma_+^{(i)} \sigma_-^{(j)} + \mathrm{h.c.}$ term. Multiply with a matrix J to get the term $\sum_{i\neq j} J_{ij} \sigma_+^{(i)} \sigma_-^{(j)} + \mathrm{h.c.} .$
Two-body terms do 'double-counting' of the couplings meaning the sum runs over i,j independently and not i < j.
SpinModels.FlipFlop — FunctionFlipFlop(J=1)Same as Hopp.
SpinModels.XXZ — FunctionXXZ(Δ, J=1)Represents the terms: Hopp(2*J)+Δ*ZZ(J)
Functions
SpinModels.nspins — Methodnspins(term)
nspins(sum_of_terms)Return the number of spins in the underlying geometry if that information was already provided.