HeisenbergModel#
- class HeisenbergModel(lattice, coupling_constants=(1.0, 1.0, 1.0), ext_magnetic_field=(0.0, 0.0, 0.0))[fuente]#
Bases:
LatticeModel
The Heisenberg model.
This class implements the following Hamiltonian:
where
refer to lattice nodes. The is performed over adjacent lattice nodes. This model assumes spin- particles. Thus, is a vector containing the Pauli matrices. is the coupling constant and is the external magnetic field, both with dimensions of energy.This model is instantiated using a
Lattice
. For example, using aLineLattice
:line_lattice = LineLattice(num_nodes=10, boundary_condition=BoundaryCondition.OPEN) heisenberg_model = HeisenbergModel(line_lattice, (1.0, 1.0, 1.0), (0.0, 0.0, 1.0))
The transverse-field Ising model can be recovered as a special case of the Heisenberg model by limiting the model to spins that are parallel/antiparallel with respect to a transverse magnetic field:
heisenberg_model = HeisenbergModel(line_lattice, (0.0, 0.0, 1.0), (1.0, 0.0, 0.0))
- Parámetros:
Attributes
- lattice#
Return the input lattice.
Note, that this returns the internal lattice object without copying it. Thus, changing the returned lattice object, will affect the internal lattice stored in this Hamiltonian.
- register_length#
Methods
- interaction_matrix()#
Return the interaction matrix
- Devuelve:
The interaction matrix.
- Tipo del valor devuelto:
- interpret(result)#
Interprets an
EigenstateResult
in this hamiltonians context.- Parámetros:
result (EigenstateResult) – the result to add meaning to.