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.