IsingModel#

class IsingModel(lattice)[ソース]#

ベースクラス: 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()[ソース]#

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()[ソース]#

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

戻り値:

The Hamiltonian of the Ising model.

戻り値の型:

SpinOp