I am trying to find the Kraus operator from process matrix.

For instance, suppose that for single qubit identity gate, I have the following process matrix:

   [[1.   , 0.   , 0.   , 0.   ],
   [0.   , 0.937, 0.004, 0.005],
   [0.023, 0.014, 0.935, 0.03 ],
   [0.011, 0.009, 0.017, 0.983]]

From this process matrix, how can I find the Kraus operator(or is it possible to write Kraus operator from process matrix)?

P.S I watched the following steps and I am probably in the wrong way:

1)I started to write ideal process matrix by using definition of super operator. I found the linear map between initial and final density matrix for ideal process matrix As a result, I found:

   [[1., 0., 0., 0.],
   [0., 1., 0., 0.],
   [0., 0., 1., 0.],
   [0., 0., 0., 1.]]

2)Then I started (actually I tried to write) to write the linear map between initial and final density matrix for actual process matrix. And my steps are :

  • I wrote the kraus operator for single qubit:


  • First and third term in this equation are equal and it corresponds to the following matrices:


[[a+d, b-ic], 
 [b+ic, a-d]]

and initial density matrix corresponds:

  [[rho00, rho01],
   [rho10, rho11]]
  • so the final density matrix corresponds:


[[(a + d)*(rho00*(a + d) + rho10*(b - 1.0*I*c)) + (b + 1.0*I*c)*(rho01*(a + d) + rho11*(b - 1.0*I*c))
  (a - d)*(rho01*(a + d) + rho11*(b - 1.0*I*c)) + (b - 1.0*I*c)*(rho00*(a + d) + rho10*(b - 1.0*I*c))]
 [(a + d)*(rho00*(b + 1.0*I*c) + rho10*(a - d)) + (b + 1.0*I*c)*(rho01*(b + 1.0*I*c) + rho11*(a - d))
  (a - d)*(rho01*(b + 1.0*I*c) + rho11*(a - d)) + (b - 1.0*I*c)*(rho00*(b + 1.0*I*c) + rho10*(a - d))]]

Now the first row in my ideal and real process matrix has the same values: [1,0,0,0]. This means that my rho00 is actually in the same place. It gives me the following equation:

$rho00 = (a + d)*(rho00*(a + d) + rho10*(b - 1.0*I*c)) + (b + 1.0*I*c)*(rho01*(a + d) + rho11*(b - 1.0*I*c))$

And from this equation, I can say that b and c are equal 0 and a= 1 - d but I can't do anything else and I feel my way is wrong. Although I could find some thing, this is because of process matrix values came likely


1 Answer 1


There might be a better way to do this (directly converting to Kraus operators from process matrix), but my suggestion would be to convert from the $\chi$ process matrix to the Choi matrix $\mathcal{C}$ $$ \mathcal{C} = \sum_{i,j}\chi_{mn}|\mathcal{P}_m\rangle\rangle\langle\langle\mathcal{P}_n|, $$ where $|\mathcal{P}_n\rangle\rangle$ is the superket representation of the $N$-qubit Pauli operator $\mathcal{P}_n \in \{I, X, Y, Z \}^{\otimes N}$. We can then use $\mathcal{C}$ to find its eigenvalues $\lambda_i$ and eigenvectors $|M_i\rangle\rangle$, where $|M_i\rangle\rangle$ is the superket representation of the Kraus operators $M_i$.

If you're doing this numerically, there are packages that can do this for you, for example the function chi2kraus in forest-benchmarking.

  • $\begingroup$ thanks for the answer ! I just check the forest benchmarking. Although I installed succesfully, nothing is working there. I am having troubles. There are a few modules which can be imported and all pyquil stufss give me errors. WHen I tried to install qvm, even the website is not exist. Forest-benchmarking is one of the worst things that I saw so far... $\endgroup$
    – quest
    Feb 1, 2022 at 13:01
  • $\begingroup$ one question, choi matrix or chi matrix? $\endgroup$
    – quest
    Feb 2, 2022 at 0:02
  • $\begingroup$ one last question: do we really have to diagonalize Choi matrix? Is not it enough to find eigenvalues and eigenvectors of C? or you meant to find eigenvector and eigenvalues for just diagonal element of C? @Bebotron $\endgroup$
    – quest
    Feb 2, 2022 at 1:22
  • 1
    $\begingroup$ Sorry about the package struggles, I'm sure there are other options out there that might work best for you. Qutip also does superoperator operations, so you can dig around in there. The Choi matrix $\mathcal{C}$ is related to the chi matrix $\chi$ by a change of basis, where the $\mathcal{C}$ matrix is in the computational basis, and the $\chi$ matrix is in the Pauli basis. And sorry about the confusion in language, I'm used to using the term "diagonalize" to mean "find the eigensystem". But I'm not actually familiar with the diagonalizability of the Choi matrix. $\endgroup$
    – Bebotron
    Feb 2, 2022 at 18:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.