qdk_chemistry.algorithms.propagator package
QDK/Chemistry propagator module.
- class qdk_chemistry.algorithms.propagator.MagnusPropagator
Bases:
PropagatorMagnus propagator for time-dependent Hamiltonian simulation.
Evaluates the effective Hamiltonian for an interval \([t_1, t_2]\) via the Magnus expansion. Currently only the leading-order (order 1, time averaging) term is implemented, and only for
DrivenContainerHamiltonians \(H(t) = H_0 + f(t)\,H_1\), for which the drive integral reduces to a scalar quadrature and\[H_\text{eff} = H_0 + \bar f\,H_1, \qquad \bar f = \frac{1}{\delta t}\int_{t_1}^{t_2} f(t')\,\mathrm{d}t'.\]Since \(\Omega_1 = -\mathrm{i}\int_{t_1}^{t_2}H(t')\,\mathrm{d}t'\), the propagator returns the Hermitian effective Hamiltonian \(H_\text{eff} = \mathrm{i}\Omega_1 / \delta t\). A time-stepping integrator then applies \(\exp(-\mathrm{i}\,\delta t\,H_\text{eff}) = \exp(\Omega_1)\), where \(\delta t = t_2 - t_1\). For sufficiently smooth \(H(t)\), this has \(O(\delta t^3)\) local error and second-order global accuracy over a fixed evolution interval.
Requesting an
ordergreater than 1, or passing any other container type, raisesNotImplementedError.- __init__()
Initialize the Magnus propagator.
- class qdk_chemistry.algorithms.propagator.MagnusPropagatorSettings
Bases:
SettingsSettings for the Magnus propagator.
- order
Magnus expansion order (default = 1). Only the leading-order term (order 1, time averaging) is currently implemented; any larger value raises
NotImplementedErrorwhen the propagator runs.- Type:
- __init__()
Initialize settings with default Magnus expansion order.
- class qdk_chemistry.algorithms.propagator.Propagator
Bases:
AlgorithmAbstract 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.
- class qdk_chemistry.algorithms.propagator.PropagatorFactory
Bases:
AlgorithmFactoryFactory class for creating Propagator instances.