- Fundamentals
- Also: Ising Hamiltonian
- Also: transverse-field Ising model
Ising Model
The Ising model is a mathematical model of ferromagnetism in statistical mechanics, describing interacting binary spins on a lattice, and is directly simulated by quantum annealing hardware and neutral atom quantum computers.
The classical Ising model assigns a binary spin variable s_i in {-1, +1} to each site i of a lattice. The energy of a configuration is given by the Hamiltonian:
H = -sum_{<i,j>} J_ij * s_i * s_j - sum_i h_i * s_i
Where:
J_ijis the coupling strength between neighbouring spins i and jh_iis an external magnetic field acting on spin i- The sum runs over pairs of connected sites
Finding the minimum energy configuration (ground state) is equivalent to solving a constraint satisfaction or combinatorial optimization problem. For general graphs, this is NP-hard.
Quantum Ising Model
The quantum (transverse-field) Ising model adds a quantum tunneling term:
H = -sum_{<i,j>} J_ij * Z_i Z_j - sum_i h_i * Z_i - Gamma * sum_i X_i
Where Z_i and X_i are Pauli operators and Gamma is the transverse field strength. The transverse field enables quantum tunneling between spin states, which is the mechanism quantum annealing exploits to escape local minima.
Relevance to Quantum Computing
The Ising model is central to quantum hardware in three ways:
Quantum annealing. D-Wave’s quantum processors are physical implementations of the quantum Ising Hamiltonian. Users specify J and h values corresponding to their optimization problem, and the hardware anneals to the ground state.
Neutral atom quantum computers. The Rydberg blockade interaction between neutral atoms naturally implements a form of the Ising model. QuEra’s Aquila system (analog mode via Amazon Braket) allows users to specify atom geometries and drive sequences that implement Ising-type dynamics for quantum simulation.
QUBO formulation. The Ising model is mathematically equivalent to QUBO (Quadratic Unconstrained Binary Optimization) via the substitution s_i = 1 - 2*x_i. Most quantum annealing software converts between the two representations automatically.
Practical Example in Qiskit (Pauli Evolution)
from qiskit.quantum_info import SparsePauliOp
from qiskit.circuit.library import PauliEvolutionGate
from qiskit.synthesis import LieTrotter
# 2-qubit transverse-field Ising Hamiltonian: -ZZ - hX1 - hX2
h = 0.5 # transverse field strength
J = 1.0 # coupling
H_ising = SparsePauliOp.from_list([
('ZZ', -J),
('XI', -h),
('IX', -h),
])
# Evolve for time t using Trotter decomposition
from qiskit import QuantumCircuit
qc = QuantumCircuit(2)
evo_gate = PauliEvolutionGate(H_ising, time=1.0, synthesis=LieTrotter(reps=4))
qc.append(evo_gate, [0, 1])
qc = qc.decompose()
print(f"Circuit depth: {qc.depth()}")