qrunch.quantum.circuits.trotter.first_order_trotter

First-order (Lie-Trotter) product-formula Trotterization.

Classes

FirstOrderTrotter

First-order Lie-Trotter product-formula Trotterization.

class FirstOrderTrotter

Bases: TrotterizationStrategy

First-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:

Circuit