Skip to content

dq.solver.Propagator

Propagator()

Quantum propagator method.

Explicitly compute the propagator to evolve the state between each time in tsave.

For the Schrödinger equation with constant Hamiltonian \(H\), the propagator to evolve the state from time \(t_0\) to time \(t_1\) is an \(n\times n\) matrix given by $$ U(t_0, t_1) = \exp(-i (t_1 - t_0) H). $$

For the Lindblad master equation with constant Liouvillian \(\mathcal{L}\), the problem is vectorized and the propagator to evolve the state from time \(t_0\) to time \(t_1\) is an \(n^2\times n^2\) matrix given by $$ \mathcal{U}(t_0, t_1) = \exp((t_1 - t_0)\mathcal{L}). $$

Warning

This solver is not recommended for open systems of large dimension, due to the \(\mathcal{O}(n^6)\) scaling of computing the Liouvillian exponential.

Constant Hamiltonian and jump operators only

The propagator method only supports constant Hamiltonian and jump operators. Piecewise-constant problems will also be supported in the future.

Supported gradients

This solver supports differentiation with dq.gradient.Autograd.