dq.dissipator
dissipator(L: ArrayLike, rho: ArrayLike) -> Array
Applies the Lindblad dissipation superoperator to a density matrix.
The dissipation superoperator \(\mathcal{D}[L]\) is defined by: $$ \mathcal{D}[L] (\rho) = L\rho L^\dag - \frac{1}{2}L^\dag L \rho - \frac{1}{2}\rho L^\dag L. $$
Parameters
-
L
(array_like of shape (..., n, n))
–
Jump operator.
-
rho
(array_like of shape (..., n, n))
–
Density matrix.
Returns
(array of shape (..., n, n)) Resulting operator (it is not a density matrix).
See also
dq.sdissipator()
: returns the dissipation superoperator in matrix form (vectorized).
Examples
>>> L = dq.destroy(4)
>>> rho = dq.fock_dm(4, 2)
>>> dq.dissipator(L, rho)
Array([[ 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j],
[ 0.+0.j, 2.+0.j, 0.+0.j, 0.+0.j],
[ 0.+0.j, 0.+0.j, -2.+0.j, 0.+0.j],
[ 0.+0.j, 0.+0.j, 0.+0.j, 0.+0.j]], dtype=complex64)