qdk_chemistry.algorithms.propagator.magnus_propagator module

Time-averaged propagator with Magnus expansion.

Computes the effective Hamiltonian for a time interval via the Magnus expansion truncated at a configurable order.

Order 1 (default) is the time-averaged Hamiltonian:

\[\Omega_1 = \int_{t_1}^{t_2} H(t')\,\mathrm{d}t'\]

Higher orders add commutator corrections computed recursively via

\[\dot\Omega_n = \sum_{k=1}^{n-1} \frac{B_k}{k!} \sum_{j_1+\cdots+j_k=n-1} \mathrm{ad}_{\Omega_{j_1}} \cdots \mathrm{ad}_{\Omega_{j_k}}(H(t))\]

where \(B_k\) are Bernoulli numbers.

class qdk_chemistry.algorithms.propagator.magnus_propagator.MagnusPropagator[source]

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__()[source]

Initialize the Magnus propagator.

name()[source]

Return magnus as the algorithm name.

Return type:

str

class qdk_chemistry.algorithms.propagator.magnus_propagator.MagnusPropagatorSettings[source]

Bases: Settings

Settings for the Magnus propagator.

__init__()[source]

Initialize settings with default Magnus expansion order.