Trotterization Module
Symbolic Trotter decomposition of Pauli Hamiltonians.
Decomposes the time evolution operator exp(−iHΔt) into a sequence of Pauli rotations exp(−iθₖPₖ), and further into elementary quantum gates using the CNOT staircase construction. All operations are purely symbolic — no matrix exponentiation or state-vector simulation is performed.
Supports first-order and second-order (symmetric) Suzuki–Trotter decompositions, along with circuit resource estimation (CNOT count, Pauli weight statistics).
Types
| Type | Description |
|
Circuit resource statistics for a Trotter step. |
|
|
Elementary quantum gate for circuit synthesis. |
|
|
A single Pauli rotation exp(−iθP). |
|
|
Trotter decomposition order. |
|
|
One complete Trotter step (a product of Pauli rotations). |
Functions and values
| Function or value |
Description
|
Full Usage:
compareTrotterCosts encodings dt
Parameters:
(string * PauliRegisterSequence)[]
-
Array of (name, Hamiltonian) pairs.
dt : float
-
Time step size for the comparison.
Returns: (string * CircuitStats) array
|
Compare CNOT costs across multiple encoded Hamiltonians.
|
|
Decompose a single Pauli rotation exp(−iθP) into elementary gates.
For weight-w Pauli string P on qubits {q₁,…,qw}:
Total: 2(w−1) CNOTs + 1 Rz + basis-change single-qubit gates.
|
|
|
Full Usage:
firstOrderTrotter dt hamiltonian
Parameters:
float
hamiltonian : PauliRegisterSequence
Returns: TrotterStep
|
First-order Trotter decomposition. exp(−iHΔt) ≈ Πₖ exp(−icₖPₖΔt) where H = Σₖ cₖPₖ.
|
|
Pauli weight of a register: the number of non-identity positions.
|
Full Usage:
secondOrderTrotter dt hamiltonian
Parameters:
float
hamiltonian : PauliRegisterSequence
Returns: TrotterStep
|
Second-order (symmetric) Trotter decomposition. Forward pass at half-angle followed by reverse pass at half-angle. The resulting step is palindromic.
|
|
Quick CNOT count from Pauli weights (no gate decomposition needed). Each weight-w rotation contributes 2(w−1) CNOTs.
|
|
Compute full circuit resource statistics for a Trotter step.
|
Full Usage:
trotterize order
Parameters:
TrotterOrder
Returns: float -> PauliRegisterSequence -> TrotterStep
|
Trotter decomposition dispatching on order.
|