Skip to content

dq.solver.Expm

Expm()

Explicit matrix exponentiation to compute propagators.

Explicitly batch-compute the propagators for all time intervals in tsave. These propagators are then iteratively applied:

For the SchrΓΆdinger equation with constant Hamiltonian HH, the propagator from time t0t_0 to time t1t_1 is an nΓ—nn\times n matrix given by U(t0,t1)=exp⁑(βˆ’i(t1βˆ’t0)H). U(t_0, t_1) = \exp(-i (t_1 - t_0) H).

For the Lindblad master equation with constant Liouvillian L\mathcal{L}, the problem is vectorized and the propagator from time t0t_0 to time t1t_1 is an n2Γ—n2n^2\times n^2 matrix given by U(t0,t1)=exp⁑((t1βˆ’t0)L). \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 O(n6)\mathcal{O}(n^6) scaling of computing the Liouvillian exponential.

Warning

This solver only supports constant or piecewise constant Hamiltonian and jump operators.

Supported gradients

This solver supports differentiation with dq.gradient.Autograd (default).