Operators · Spin Hamiltonians
Heisenberg XXZ spin-chain operator
The anisotropic Heisenberg (XXZ) spin-chain Hamiltonian: exchange-coupled spins with tunable easy-axis/easy-plane anisotropy Δ, U(1)-symmetric under total-Sz rotation.
Exact & formalUpdated
4 steps across 4 wires. Hover a step, or press play to go through them in order.
Expected outcomes
- Sz sectors block-diagonal100%
- Steps4
- Wires4
- Sites4 (chain)
- Terms3 XX + 3 YY + 3 ZZ
- SymmetryU(1) total-Sz conservation
- Papers1
The XXZ chain interpolates between the classical Ising model (Δ→∞), the exactly Bethe-ansatz-solvable isotropic Heisenberg point (Δ=1), and the free-fermion XY point (Δ=0), making it the standard testbed for exact integrability techniques in 1D quantum magnetism.
TakesNothingWhat joins here
No input port, deliberately. You measure a state with this entry; you do not apply it and pass a register on.
Nothing in the Atlas meets this end.
ReturnsNothingWhat joins here
No output port, deliberately. An observable is measured with, never applied, so there is no register to hand on.
Nothing in the Atlas meets this end.
Not a stage. You measure a state with this; you do not apply it and pass a register on. It has a width and deliberately no ports. See all 60 →
The XXZ Heisenberg Hamiltonian on a chain of sites is
Special points. recovers the isotropic Heisenberg (XXX) model, exactly solvable by Bethe's 1931 ansatz; gives the XY model, mappable to free fermions via a Jordan–Wigner transformation; recovers the classical Ising limit (the XX terms become negligible relative to ZZ).
Symmetry. Writing , the XX+YY term can be re-expressed with raising/lowering operators , which conserve the number of up-spins — a symmetry, so . This block-diagonalizes by total magnetization sector, which is why the model is tractable analytically (Bethe ansatz solves each magnetization sector separately) and why it is a natural target for excitation-number-conserving VQE ansätze.
Physical content. In the gapless regime , the XXZ chain is a Luttinger liquid with power-law spin correlations; for the ground state is gapped and Néel (antiferromagnetically) ordered, and for it is ferromagnetically ordered. The Lieb–Schultz–Mattis theorem constrains this gap structure for half-integer spin chains with translational and symmetry — a spin-1/2 chain at generic filling cannot have both a unique gapped ground state and these symmetries simultaneously.
Use as a testbed. Because exact Bethe-ansatz energies are known at every for finite chains, the XXZ operator is a standard benchmark for VQE and quantum-simulation error analysis: any claimed ground-state energy can be checked against the exact solution rather than only against exact diagonalization of the same finite instance.
TakesNothingWhat joins here
No input port, deliberately. You measure a state with this entry; you do not apply it and pass a register on.
Nothing in the Atlas meets this end.
ReturnsNothingWhat joins here
No output port, deliberately. An observable is measured with, never applied, so there is no register to hand on.
Nothing in the Atlas meets this end.
Not a stage. You measure a state with this; you do not apply it and pass a register on. It has a width and deliberately no ports. See all 60 →
- Sites
- 4 (chain)
- Terms
- 3 XX + 3 YY + 3 ZZ
- Symmetry
- U(1) total-Sz conservation
- Hamiltonian
- H = JΣ(XᵢXᵢ₊₁+YᵢYᵢ₊₁+ΔZᵢZᵢ₊₁)
- Δ=1 point
- Isotropic Heisenberg (Bethe-solvable)
- Regime (this entry)
- Δ=1, gapless Luttinger liquid
XXon S₀, S₁YYon S₀, S₁ΔZZon S₀, S₁…on S₁, S₂
Quantum vs classical
Classical baseline
Use a classical state-vector or matrix simulation at the same width, precision, and measurement objective.
Quantum claim
The quantum record demonstrates a state or operator behavior; it does not make classical simulation or communication costs disappear.
How to compare
Compare fidelity, samples, gate depth, noise, memory, and the cost of preparing and reading the state.
Nobody has reviewed this record for gaps yet.
import numpy as np
from qiskit.quantum_info import SparsePauliOp
def xxz_hamiltonian(n: int, J: float, delta: float) -> SparsePauliOp:
terms, coeffs = [], []
for i in range(n - 1):
for pauli, coeff in (("X", J), ("Y", J), ("Z", J * delta)):
s = ["I"] * n
s[i], s[i + 1] = pauli, pauli
terms.append("".join(reversed(s)))
coeffs.append(coeff)
return SparsePauliOp(terms, coeffs)
n = 4
H = xxz_hamiltonian(n, J=1.0, delta=1.0) # isotropic Heisenberg point
Sz_tot = SparsePauliOp(["".join(reversed(["Z" if k == i else "I" for k in range(n)])) for i in range(n)],
[0.5] * n)
commutator = H.to_matrix() @ Sz_tot.to_matrix() - Sz_tot.to_matrix() @ H.to_matrix()
print("max |[H, Sz_tot]| =", np.abs(commutator).max()) # ~0, confirming U(1) symmetry
RESULT = {"max_commutator_norm": float(np.abs(commutator).max()), "conserves_total_sz": bool(np.abs(commutator).max() < 1e-9)}
Where the map uses this
This record is an instance of an object the map names, so these are the processes that consume or produce one. None of them is about this record in particular.
Hamiltonian you can query 6 of 34 processes
- Graph-Laplacian finite differences hands one back
- Recast a non-Hermitian generator as Hamiltonian evolution hands one back
- Block-encode a matrix takes one
- Simulate Hamiltonian evolution takes one
- Frame an operator as a ground-state question takes one
- Frame an operator as a ground-state question hands one back
Related entries
References
- An introduction to integrable techniques for one-dimensional quantum systems
Fabio Franchini · 2016
Modern review deriving the XXZ chain's symmetries, Bethe-ansatz solvability, and phase diagram used in this entry.