qrunch.quantum.circuits.trotter.first_order_trotter
First-order (Lie-Trotter) product-formula Trotterization.
Classes
First-order Lie-Trotter product-formula Trotterization. |
- class FirstOrderTrotter
Bases:
TrotterizationStrategyFirst-order Lie-Trotter product-formula Trotterization.
Approximates the time-evolution operator \(e^{-iHt}\) as
\[e^{-iHt} \approx \left(\prod_{j=1}^{m} e^{-i c_j P_j \frac{t}{n}}\right)^n ,\]where \(H = \sum_{j=1}^m c_j P_j\), \(n\) is the number of Trotter steps, and the product runs over all Pauli terms in the order determined by the injected
TrotterDecomposer.The first-order error scales as \(O(t^2 / n)\).
- __init__(decomposer: TrotterDecomposer | None = None) None
Initialise a first-order Trotter strategy.
- Parameters:
decomposer (TrotterDecomposer | None) – Strategy for decomposing the Hamiltonian into gates within each Trotter step. Defaults to
PauliTrotterDecomposer.- Return type:
None
- trotterize(hamiltonian: HermitianPauliSum, time: float, trotter_steps: int) Circuit
Construct the first-order Trotter circuit for \(e^{-iHt}\).
- Parameters:
hamiltonian (HermitianPauliSum) – The Hermitian Pauli Hamiltonian to Trotterize.
time (float) – Total evolution time \(t\).
trotter_steps (int) – Number of Trotter steps \(n \geq 1\).
- Return type: