qrunch.quantum.algorithms.pauli.quantum_phase_estimation.hamiltonian_encoders.hamiltonian_encoders_protocols

Module containing protocols for Hamiltonian encoders used in quantum phase estimation.

Classes

HamiltonianEncoder

Protocol for Hamiltonian encoders used in quantum phase estimation.

class HamiltonianEncoder

Bases: Protocol

Protocol for Hamiltonian encoders used in quantum phase estimation.

__init__(*args, **kwargs)
decode_eigenvalues(eigen_values: Sequence[float]) Sequence[float]

Decode the eigenvalues of the encoded circuit, into eigenvalues of the original hamiltonian.

Parameters:

eigen_values (Sequence[float]) – eigenvalues obtained from the encoded circuit.

Return type:

Sequence[float]

encode_hamiltonian(coefficient: float, hamiltonian: HermitianPauliSum) Circuit

Encode the given Hamiltonian into a circuit.

Parameters:
  • coefficient (float) – The coefficient to scale the Hamiltonian.

  • hamiltonian (HermitianPauliSum) – The Hamiltonian to encode.

Return type:

Circuit