IsingModel#

class IsingModel(lattice)[source]#

Bases: LatticeModel

The transverse-field Ising model.

This class implements the following Hamiltonian:

\[H = -\sum_{\langle i, j \rangle} J_{ij} Z_{i} Z_{j} - \sum_{i} g_{i} X_{i},\]

where \(i,j\) refer to lattice nodes. The \(\sum_{\langle i, j \rangle}\) is performed over adjacent lattice nodes. This model assumes spin-\(\frac{1}{2}\) particles. Thus, \(X_i\) and \(Z_i\) represent the respective Pauli matrices. \(J_{ij}\) are constants with dimensions of energy and \(g_{i}\) are coupling parameters that determine the relative strength between the external transverse field and the nearest neighbor interactions.

This model is instantiated using a Lattice. For example, using a LineLattice:

line_lattice = LineLattice(num_nodes=10, boundary_condition=BoundaryCondition.OPEN)

ising_model = IsingModel(
    line_lattice.uniform_parameters(
        uniform_interaction=-1.0,
        uniform_onsite_potential=0.0,
    ),
)
প্যারামিটার:

lattice (Lattice) -- Lattice on which the model is defined.

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

coupling_matrix()[source]#

Return the coupling matrix.

রিটার্ন টাইপ:

ndarray

interaction_matrix()#

Return the interaction matrix

রিটার্নস:

The interaction matrix.

রিটার্ন টাইপ:

ndarray

interpret(result)#

Interprets an EigenstateResult in this hamiltonians context.

প্যারামিটার:

result (EigenstateResult) -- the result to add meaning to.

second_q_op()[source]#

Return the Hamiltonian of the Ising model in terms of SpinOp.

রিটার্নস:

The Hamiltonian of the Ising model.

রিটার্ন টাইপ:

SpinOp