qrunch.quantum.algorithms.pauli.quantum_phase_estimation.hamiltonian_encoders.trotterization_hamiltonian_encoder
Hamiltonian encoder based on a Trotterization strategy.
Classes
Hamiltonian encoder using a Trotterization strategy to construct \(U = e^{-iHt}\). |
- class TrotterizationHamiltonianEncoder
Bases:
HamiltonianEncoderHamiltonian encoder using a Trotterization strategy to construct \(U = e^{-iHt}\).
Uses a
TrotterizationStrategyto construct the encoding unitary.- __init__(strategy: TrotterizationStrategy, trotter_steps: int = 1) None
Initialise the encoder.
- Parameters:
strategy (TrotterizationStrategy) – Trotterization strategy used to approximate \(e^{-iHt}\).
trotter_steps (int) – Number of Trotter steps passed to the strategy.
- Return type:
None
- decode_eigenvalues(eigen_values: Sequence[float]) Sequence[float]
Decode QPE-measured phases into eigenvalues of the original Hamiltonian.
Each phase \(\varphi \in [0, 1)\) is first remapped: values greater than \(\tfrac{1}{2}\) are shifted by \(-1\) to \((-\tfrac{1}{2}, \tfrac{1}{2}]\), after which the eigenvalue is recovered as \(\lambda = -2\pi \varphi\).
- Parameters:
eigen_values (Sequence[float]) – Phases \(\varphi \in [0, 1)\) obtained from the encoded circuit via quantum phase estimation.
- Return type:
Sequence[float]
- encode_hamiltonian(coefficient: float, hamiltonian: HermitianPauliSum) Circuit
Encode the Hamiltonian as a Trotter-approximated time-evolution circuit.
- Parameters:
coefficient (float) – The coefficient to scale the Hamiltonian.
hamiltonian (HermitianPauliSum) – The Hermitian Pauli Hamiltonian to encode.
- Return type: