dq.lindbladian
lindbladian(H: QArrayLike, jump_ops: list[QArrayLike], rho: QArrayLike) -> QArray
Applies the Lindbladian superoperator to a density matrix.
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.dissipator()
).
Note
This superoperator is also sometimes called Liouvillian.
Parameters
-
H
(qarray-like of shape (..., n, n))
–
Hamiltonian.
-
jump_ops
(list of qarray-like, each of shape (, ..., n, n))
–
List of jump operators.
-
rho
(qarray-like of shape (..., n, n))
–
Density matrix.
Returns
(qarray of shape (..., n, n)) Resulting operator (it is not a density matrix).
See also
dq.slindbladian()
: returns the Lindbladian superoperator in matrix form (vectorized).
Examples
>>> a = dq.destroy(4)
>>> H = a.dag() @ a
>>> L = [a, a.dag() @ a]
>>> rho = dq.fock_dm(4, 1)
>>> dq.lindbladian(H, L, rho)
QArray: shape=(4, 4), dims=(4,), dtype=complex64, layout=dense
[[ 1.+0.j 0.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j -1.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j 0.+0.j 0.+0.j]]