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
.