qrunch.quantum.circuits.hamiltonian_time_evolution.hamiltonian_time_evolution_protocols

Module containing protocols for compilers of Hamiltonian time evolution.

Classes

HamiltonianTimeEvolution

Protocol for compilers approximating the time-evolution operator \(e^{-iHt}\) by a circuit.

class HamiltonianTimeEvolution

Bases: Protocol

Protocol for compilers approximating the time-evolution operator \(e^{-iHt}\) by a circuit.

A Hamiltonian-time-evolution strategy approximates the time-evolution operator \(e^{-iHt}\) of a second-quantized Hermitian Hamiltonian \(H = \sum_j c_j P_j\), given as its decomposition into Hermitian terms. That decomposition, rather than the operator it was extracted from, is the input, so callers are free to supply a deliberately modified set of coefficients.

__init__(*args, **kwargs)
get_circuit(hamiltonian: SecondQuantizedHamiltonian, time: float) Circuit

Build a circuit approximating the time evolution of the given Hamiltonian.

Parameters:
  • hamiltonian (SecondQuantizedHamiltonian) – The second-quantized Hamiltonian to time-evolve.

  • time (float) – The evolution time.

Return type:

Circuit