qdk_chemistry.algorithms.propagator package

QDK/Chemistry propagator module.

class qdk_chemistry.algorithms.propagator.MagnusPropagator

Bases: Propagator

Magnus propagator for time-dependent Hamiltonian simulation.

Evaluates the effective Hamiltonian for an interval \([t_1, t_2]\) via the Magnus expansion. Currently only order 1 (time averaging) is implemented: \(H_\text{eff} = H_0 + \bar f\,H_1\). Orders higher than 1 raise NotImplementedError.

For DrivenContainer Hamiltonians the drive integral reduces to a scalar quadrature.

__init__()

Initialize the Magnus propagator.

name()

Return magnus as the algorithm name.

Return type:

str

class qdk_chemistry.algorithms.propagator.MagnusPropagatorSettings

Bases: Settings

Settings for the Magnus propagator.

__init__()

Initialize settings with default Magnus expansion order.

class qdk_chemistry.algorithms.propagator.Propagator

Bases: Algorithm

Abstract base for propagator algorithms.

A propagator maps a time-dependent Hamiltonian and a time interval \([t_1, t_2]\) to an effective time-independent QubitOperator:

\[H_{\mathrm{eff}} = \frac{1}{\delta t} \int_{t_1}^{t_2} H(t')\,\mathrm{d}t'\]

Concrete implementations may compute the integral analytically, numerically, or via other approximation schemes.

__init__()

Initialize the Propagator.

type_name()

Return propagator as the algorithm type name.

Return type:

str

class qdk_chemistry.algorithms.propagator.PropagatorFactory

Bases: AlgorithmFactory

Factory class for creating Propagator instances.

algorithm_type_name()

Return propagator as the algorithm type name.

Return type:

str

default_algorithm_name()

Return magnus as the default algorithm name.

Return type:

str

Submodules