The classical Heisenberg Model of 3d spins on a lattice.
Parameters : | dim: list
field_disorder: float
fields: array
|
---|
Notes
The Hamiltonian is:
H = - sum_ij J dot( s_i, s_j )
where s_i are normalized 3d vectors.
This can be generalized for disordered systems to:
H = - sum_ij J_ij dot( s_i, s_j ) - sum_i dot( h_i, s_i )
where h_i are quenched random variables. (h_i is a vector)
Methods
NumericalDerivative(coords[, eps]) | return the gradient calculated numerically |
NumericalHessian(coords[, eps]) | return the Hessian matrix of second derivatives computed numerically |
getEnergy(coords) | coords is a list of (theta, phi) spherical coordinates of the spins |
getEnergyGradient(coords) | coords is a list of (theta, phi) spherical coordinates of the spins |
getEnergyGradientHessian(coords) | return the energy, gradient, and Hessian at the given coordinates |
getEnergyGradientNumerical(coords) | |
getGradient(coords) | return the gradient at the given coordinates |
getHessian(coords) | return the hessian |
test_potential(coords[, eps]) | print some information testing whether the analytical gradients are correct |