Algorithms · Product-formula Hamiltonian simulation
Trotter–Suzuki Hamiltonian simulation
Approximates the time evolution of a Hamiltonian with non-commuting terms by alternating their individual exponentials.
Strong empiricalUpdated
Open on the mapView frozen graph
A small worked example, computed in your browser. It is not a result from this record's papers.
2 Trotter steps of a transverse-field Ising chain
4 qubits starting at |0000⟩, J=1, h=0.5, dt=0.3, 2 first-order Trotter steps.
Step 1 of 2 · Ising Trotter step(4)
Probability of each outcome after this step
- 000091%
- 00012%
- 00102%
- 01002%
- 10002%
- 00110%
- 01010%
- 01100%
- 8 more outcomes0%
| Outcome | Probability | Relative phase | |
|---|---|---|---|
| 0000 | 91.4% | 0 | |
| 0001 | 2.1% | 3π/2 | |
| 0010 | 2.1% | 3π/2 | |
| 0100 | 2.1% | 3π/2 | |
| 1000 | 2.1% | 3π/2 | |
| 0011 | 0.0% | π | |
| 0101 | 0.0% | π | |
| 0110 | 0.0% | π | |
8 more outcomes (0.1% between them)
Phases are measured against the largest amplitude. A global phase is not observable, so only the differences carry meaning.
First Trotter step: RZZ(2*J*dt) couples each neighbouring pair on the line, then RX(2*h*dt) applies the transverse field to every qubit.
Probability spreads from 1 outcome to 16.
Second Trotter step, identical to the first. Together the two steps approximate exp(−i·H·2·dt) for this chain's Hamiltonian.
Probability moves between the same 16 outcomes. Up: 0001 2.1% → 6.4%, 1000 2.1% → 6.4%. Down: 0000 91.4% → 75.2%. This is the step that entangles the qubits: from here on no single qubit has a state of its own, only the register as a whole does.
Readout The state spreads from |0000⟩ across several nearby basis states. The exact split is a regression value from this file's own simulator, not a claim about a real material.
Open in Studio- Steps3
- Wires1
- Qubits1 (toy instance)
- Trotter stepsr = 4 (shown)
- Error scalingO(t²/r) first order
- Papers2
Most Hamiltonians of interest have non-commuting terms, so e^{-iHt} cannot be split exactly into a product of per-term exponentials. Trotter–Suzuki formulas approximate it by alternating the terms in short steps.
TakesNothingWhat joins here
No input port at this edge: the record publishes no gate sequence and no register, so there is nothing here to read one off — and unlike a declared hole, nothing has been recorded about what belongs here.
Nothing in the Atlas meets this end.
ReturnsNothingWhat joins here
No output port at this edge: the record publishes no gate sequence and no register, so there is nothing here to read one off — and unlike a declared hole, nothing has been recorded about what belongs here.
Nothing in the Atlas meets this end.
This record publishes no gate sequence and no register, so there is nothing here to read an interface off. Absent rather than empty. See all 152 →
Simulating for a Hamiltonian with non-commuting terms cannot generally be done by exponentiating each term separately, since unless . The first-order Trotter formula approximates it anyway by splitting the evolution into short steps:
with error per Lloyd's original analysis (1996); tighter, commutator-dependent bounds (Childs, Su, Tran, Wiebe, Zhu, 2019) show the error scales with , vanishing exactly when the terms commute. Suzuki's symmetric (even-order) product formulas reduce the error to for order , at the cost of more exponentials evaluated per step.
Exactly solvable small instance. Take the single-qubit Hamiltonian with , and note , so a Trotter error genuinely exists here. Exact evolution from gives
so and . Choosing makes , giving exactly — a concrete analytic target that the first-order Trotter circuit (alternating and layers) converges to as the number of steps grows, with discrepancy shrinking as .
Where it is used. Trotterization is the default way to run digital Hamiltonian simulation on gate-based hardware, and underlies quantum chemistry, condensed-matter, and QITE/VarQITE pipelines that need or as a subroutine.
TakesNothingWhat joins here
No input port at this edge: the record publishes no gate sequence and no register, so there is nothing here to read one off — and unlike a declared hole, nothing has been recorded about what belongs here.
Nothing in the Atlas meets this end.
ReturnsNothingWhat joins here
No output port at this edge: the record publishes no gate sequence and no register, so there is nothing here to read one off — and unlike a declared hole, nothing has been recorded about what belongs here.
Nothing in the Atlas meets this end.
This record publishes no gate sequence and no register, so there is nothing here to read an interface off. Absent rather than empty. See all 152 →
- Qubits
- 1 (toy instance)
- Trotter steps
- r = 4 (shown)
- Error scaling
- O(t²/r) first order
- Formula
- e^{-iHt} ≈ (Π_j e^{-iA_j t/r})^r
- Exact target (t=π/(2√2))
- P(0)=P(1)=0.5
- Higher order
- Suzuki: O(t^{p+1}/r^p)
RX (X term)on q[0]RZ (Z term)on q[0]Repeat r stepson q[0]
Quantum vs classical
Classical baseline
Classical simulation of Hamiltonian dynamics on n qubits requires exponentiating or repeatedly applying a 2^n × 2^n matrix, exponential cost in n for generic H.
Quantum claim
The Trotter circuit's depth per step scales polynomially in n and the number of Hamiltonian terms, with total error O(t²/r) controllable by increasing r.
How to compare
Compare total gate count (∝ r × number of terms) and achieved state fidelity/observable error against classical exact or tensor-network simulation for the same Hamiltonian size and evolution time.
Nobody has reviewed this record for gaps yet.
from qiskit import QuantumCircuit
def trotter_step(t, r):
"""First-order Trotter step for H = X + Z on one qubit."""
qc = QuantumCircuit(1, name=f"Trotter step (t={t:.3f}, r={r})")
dt = t / r
for _ in range(r):
qc.rx(2 * dt, 0) # e^{-i X dt}
qc.rz(2 * dt, 0) # e^{-i Z dt}
return qc
t, r = 1.1107, 4 # t = pi / (2*sqrt(2)) approximately
qc = QuantumCircuit(1, 1)
qc.append(trotter_step(t, r), [0])
qc.measure(0, 0)
FINAL_CIRCUIT = qcWhere this sits
This record is named by the layer graph at:
- Simulate Hamiltonian evolution Slot
Takes An access model for — a sum of efficiently exponentiable terms, sparse-access oracles, or a block-encoding — plus an evolution time and a target error . Returns A circuit approximating to within , with a stated query or gate count, an ancilla count, and the norm parameter — sparsity times , or the LCU 1-norm — that the cost is measured against.
- Product-formula (Trotter-Suzuki) simulation Method
Takes An access model for — a sum of efficiently exponentiable terms, sparse-access oracles, or a block-encoding — plus an evolution time and a target error . Returns A circuit approximating to within , with a stated query or gate count, an ancilla count, and the norm parameter — sparsity times , or the LCU 1-norm — that the cost is measured against.
Related entries
- Transverse-field Ising simulation
Algorithms
- Quantum imaginary-time evolution
Algorithms
- Variational quantum eigensolver for ground-state energy
Algorithms
References
- Universal Quantum Simulators
Seth Lloyd · 1996
Original proof that a quantum computer can efficiently simulate local Hamiltonians via Trotterization, with the O(t²/r) error bound.
- A Theory of Trotter Error
Andrew M. Childs, Yuan Su, Minh C. Tran, Nathan Wiebe, Shuchen Zhu · 2019
Tighter Trotter error bounds in terms of nested commutators, sharpening the resource estimates used in practice.