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,Bcoordinate vectors. These should have length 2^(N-2) will be overwritten!Nnumber of sites in the systemi,jsites 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
Varray of length 2^N. Will be mutated!Nnumber of sites in the systemhzfield strengthisite to act on
SpinModels._zcorrelator_values! — Function _zcorrelator_values!(V, N, Jij, i, j)ADD to V the diagonal of Jᵢⱼ σzⁱσzʲ.
Parameters
Varray of length 2^N. Will be mutated!Nnumber of sites in the systemJijinteraction strengthi,jsites 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.