# Finding the matrix representation of a superoperator

I am trying to express superoperator (e.g. the Liouvillian) as matrices and am having a hard time finding a way to do this.

For instance, given the Pauli matrix $\sigma_y$, how do I find the matrix elements of the commutator superoperator? So far I have been trying to figure this out by trial and error (making sure the superoperator acting on the operator vector still gives $[\sigma_y, \rho]$). In the end I want to find superoperators in larger bases, so I am looking for a systematic method to find the matrix elements.

• Find a basis $\{ |e_i \rangle \}$ for the vector space of superoperators. Then the matrix elements are $M){ij} = \langle e_i | e_j \rangle$. The inner product is probably something like $\langle e_i|e_j \rangle = \text{Tr} e_i^\dagger e_j$. Feb 5, 2015 at 17:14

If you want to write a super-operator representing left- or right-multiplication, there is a distinct method which is simpler and more elegant. Let us define the left-multiplication superoperator by $$\mathcal{L}(A)[\rho] = A\rho,$$ and the right-multiplication superoperator by $$\mathcal{R}(A)[\rho] = \rho A.$$ It should be clear that these operations commute, i.e. $\mathcal{L}(A)\mathcal{R}(B) = \mathcal{R}(B)\mathcal{L}(A)$. Many common superoperators can be represented as a sum of these elementary components, for example the commutator: $$[H,\rho] = \mathcal{L}(H)[\rho] - \mathcal{R}(H)[\rho].$$ Actually I believe all superoperators can be represented in terms of these elementary operations, although I have never proven it: it seems rather obvious.

Now, in order to represent these operations as matrices, you need to flatten your target operator into a vector. One way of performing this mapping is the following $$\tag{1}\rho = \sum_{i,j} \rho_{ij}\;\lvert i\rangle\langle j\rvert \to \sum_{i,j} \rho_{ij}\;\lvert i\rangle\otimes\lvert j \rangle .$$ In this flattened representation we find $$\mathcal{L}(A)[\rho] = \sum_{i,j} \rho_{ij}\;A\lvert i\rangle\langle j\rvert \to \sum_{i,j} \rho_{ij}\;(A\lvert i\rangle)\otimes\lvert j \rangle = \sum_{i,j} \rho_{ij}\;(A\otimes \mathbb{1})\lvert i\rangle\otimes\lvert j \rangle.$$ Therefore the left-multiplication superoperator is represented by the matrix $\mathcal{L}(A)= (A\otimes\mathbb{1})$. Similarly, you should be able to show that $\mathcal{R}(A) = (\mathbb{1}\otimes A^T)$.

Be warned: many standard computer linear algebra packages do not automatically perform the flattening map according to Eq. (1). For example, the MATLAB reshape() function uses a different convention, meaning that these formulas must be adapted.

• Aha, transpose! I was using transpose+conjugate. This was the derivation I was looking for. Thanks so much. Glad someone could answer this pretty obscure question. Do you know of any books that have good treatments of this material? Feb 5, 2015 at 18:30
• @user5419 Yes, one gets so used to using $\dagger$ in quantum mechanics that it is easy to forget or miss that the elementary operation $\lvert i\rangle \to \langle i \rvert$ is actually just boring old classical transposition. I'm afraid I don't know any books that deal with this material. Most of this stuff I worked out from reading other people's code! Feb 5, 2015 at 19:09
• Could not have given a better answer, this approach is much more elegant then directly computing each individual matrix element in the preferred basis. Sep 22, 2023 at 12:26

This is exactly analogous to the procedure for finding matrix elements of normal operators. Let's first recall how this works in the familiar case. You choose an orthonormal basis of vectors, say $|n\rangle$, with $n = 1,2,\ldots D$, where $D$ is the dimension of the Hilbert space, such that $\langle n\rvert m\rangle = \delta_{mn}$. Now the matrix elements of an operator $A$ are given by $$A_{mn} = \langle m\rvert A\lvert n\rangle.$$

The procedure for superoperators is the same, but the inner product is different. Here it is convenient to use the Hilbert-Schmidt product of two operators: $$(A,B) = \mathrm{Tr}\{A^{\dagger}B\}.$$ You now must find a complete orthonormal basis with respect to this Hilbert-Schmidt product, i.e. a set of matrices $M_\mu$, with $\mu = 1,2,\ldots,D^2$, such that $(M_\mu,M_\nu) = \delta_{\mu\nu}$. A convenient choice for $D=2$ is the Pauli basis: $$M_\mu \in \left\lbrace\frac{1}{\sqrt{2}}\mathbb{1},\frac{1}{\sqrt{2}}\sigma^x,\frac{1}{\sqrt{2}}\sigma^y,\frac{1}{\sqrt{2}}\sigma^z\right\rbrace.$$ Another simple choice of basis that is easy to generalise is the set of $D^2$ matrices which have one element with value $1$, and all other elements are $0$.

Now if you have a superoperator $\mathcal{L}$, you find its matrix elements through the formula $$\mathcal{L}_{\mu\nu} = (M_\mu, \mathcal{L}[M_\nu] ).$$ For example, if you have a Hamiltonian $H$ generating a Liouvillian $\mathcal{L}[\bullet] = -i[H,\bullet]$, one of its matrix elements in the Pauli basis would be found from $$\mathcal{L}_{xy} = \frac{-i}{2}\mathrm{Tr}\left\lbrace\sigma^x [H,\sigma^y]\right\rbrace.$$

• Thanks. So I can write out a 4x4 matrix for $\mathcal{L}$ given some $H$. I then operate $\mathcal{L}$ on the vector $\{\rho_{11},\rho_{12},\rho_{21}, \rho_{22}\}$. The resulting vector should match with the matrix elements of the original $-i[H,\rho]$. I tried this with $H = \vec{h}/2 \cdot \vec{\sigma}$ and I do not see such agreement. What am I missing? Feb 5, 2015 at 17:10
• also how does your method jive with Eq. 29 in physlab.lums.edu.pk/images/4/46/Superop.pdf ? They use outer products there. Feb 5, 2015 at 17:19
• @user5419 If you wrote your operator $\mathcal{L}$ in the Pauli basis, you also need to write your density matrix as a vector in the Pauli basis. Sorry, but I am not really up for reading a whole set of lecture notes. There are some nice tricks for writing superoperators consisting of left- or right-multiplication using outer products. Maybe I will also write this up as a different answer. The method I have given in this answer is the most general method, and it is straightforward to program. Feb 5, 2015 at 17:32
• @MarkMitchison this seems pretty standard in quantum information. You know of a textbook where this is explicitly stated? Nov 6, 2018 at 9:17
• @user2820579 Where what, precisely, is explicitly stated? If you mean finding matrix elements of superoperators, then I expect Nielsen & Chuang might cover it. Nov 6, 2018 at 13:40

This is a follow-up to @Mark Mitchison's answer, as I spent quite some time trying to resolve conflicts between their explanation and some papers I was reading.

As they correctly state, there are many orderings for the vectorisation of the density matrix. In much of the literature I have read, the vectorisation process gives a column vector of columns (left to right) from the original density matrix. For example,

$$\rho=\begin{bmatrix} \rho_{00} & \rho_{01} \\ \rho_{10} & \rho_{11} \\ \end{bmatrix} \mapsto{} \rho_\text{super} = \begin{bmatrix} \rho_{00}\\\rho_{10}\\\rho_{01}\\\rho_{11} \end{bmatrix}$$

However, the standard kronecker product shown in their answer does not translate to this vectorisation process. If you follow the column of columns definition, you need to swap $$|{i}\rangle{}$$ and $$|{j}\rangle{}$$:

$$\rho \mapsto{} \rho_\text{super} = \sum_{ij}{p_{ij}|{j}\rangle\otimes{}|{i}\rangle{}}$$ which also means you need to swap the "systems" on which the new operators apply: \begin{align} \mathcal{L}[A] & = \mathbb{I}\otimes{}A, \\ \mathcal{R}[A] & = A^T\otimes{}\mathbb{I}. \end{align}

For a more detailed explanation on representing Lindblad operators as matrices, see Am-Shallem et al.'s "Three approaches for representing Lindblad dynamics by a matrix-vector notation".

• The paper you cited does swap the systems as you mentioned, however, I believe their direct product convention is different, as I was trying to work out the equation in the example, the Mark Mitchison's matrix representation satisfies the matrix in the cited paper's example. Feb 13 at 18:06