Skip to content

dq.slindbladian

slindbladian(H: ArrayLike, jump_ops: ArrayLike) -> Array

Returns the Lindbladian superoperator (in matrix form).

The Lindbladian superoperator \(\mathcal{L}\) is defined by: $$ \mathcal{L} (\rho) = -i[H,\rho] + \sum_{k=1}^N \mathcal{D}[L_k] (\rho), $$

where \(H\) is the system Hamiltonian, \(\{L_k\}\) is a set of \(N\) jump operators (arbitrary operators) and \(\mathcal{D}[L]\) is the Lindblad dissipation superoperator (see dq.sdissipator()).

The vectorized form of this superoperator is: $$ -i (I_n \otimes H) + i (H^\mathrm{T} \otimes I_n) + \sum_{k=1}^N \left( L_k^* \otimes L_k - \frac{1}{2} (I_n \otimes L_k^\dag L_k) - \frac{1}{2} (L_k^\mathrm{T} L_k^* \otimes I_n) \right). $$

Note

This superoperator is also sometimes called Liouvillian.

Parameters

  • H (array_like of shape (..., n, n)) –

    Hamiltonian.

  • jump_ops (array_like of shape (N, ..., n, n)) –

    Sequence of jump operators.

Returns

(array of shape (..., n^2, n^2)) Lindbladian superoperator.

See also
  • dq.lindbladian(): applies the Lindbladian superoperator to a state using only \(n\times n\) matrix multiplications.