Non exported symbols
SpinModels.NNGeometry
— TypeNNGeometry(geometry, k)
See NN(::SpinModels.Geometry)
and nearest_neighbor_from_distances!
.
SpinModels.NNInteraction
— TypeNNInteraction(interaction, k)
See NN(::SpinModels.Interaction)
and nearest_neighbor_from_interactions!
.
SpinModels._nbodyness
— Function_nbodyness(term)
Number of spins the term acts on.
SpinModels._hopping_coordinates!
— Function_hopping_coordinates!(A, B, N, i, j)
Compute the coordinates of the matrix entries of the hopping operator between site i and J in a spin chain. The values are 1 everywhere, so there is no input/output for these in this function.
Hopping operator: σ₊ⁱσ₋ʲ + σ₋ⁱσ₊ʲ = 𝟙⊗…⊗𝟙⊗σ₊⊗𝟙⊗…⊗𝟙⊗σ₋⊗𝟙⊗…⊗𝟙 + transpose
Parameters
A
,B
coordinate vectors. These should have length 2^(N-2) will be overwritten!N
number of sites in the systemi
,j
sites the excitation can hop between. 1 ≤ i,j ≤ N
SpinModels._z_field!
— Function_z_field!(V, N, hz, i)
ADD to V
the diagonal of hz σzⁱ.
Parameters
V
array of length 2^N
. Will be mutated!N
number of sites in the systemhz
field strengthi
site to act on
SpinModels._zcorrelator_values!
— Function _zcorrelator_values!(V, N, Jij, i, j)
ADD to V
the diagonal of Jᵢⱼ σzⁱσzʲ.
Parameters
V
array of length 2^N
. Will be mutated!N
number of sites in the systemJij
interaction strengthi
,j
sites to couple
SpinModels._check_add_compatible
— Functioncheckadd_compatible(term1, term2)
Two terms can be added, if either:
- both have no spatial information
- both carry spatial information for the same number of spins
Otherwise error.
SpinModels._check_array
— Function_check_array(dims, nbody)
Bad name. Raise an error if an array with size dims
is not suitable as coefficient for an nbody
term. Generally a n-body term needs a n-dimensional array which axes are all equal.