How do I apply the Choi matrix on a Density matrix.

Say my process is a Hadamard gate, and my input state is the ground state on 1 qubit (qubit id 0).

$U = H = \dfrac{1}{\sqrt{2}} \begin{bmatrix}1&1\\1&-1\end{bmatrix}$

Thus, to do ancilla assisted QPT, I need 1 ancilla qubit (I took it as the MSB, qubit id 1).


$\rho_{in} = |0\rangle \langle 0| = \begin{bmatrix}1&0\\0&0\end{bmatrix}$

Considering the full system (along with ancilla), the:

$\rho_{in}^{sys} = |00\rangle \langle 00| = \begin{bmatrix}1&0&0&0\\0&0&0&0\\0&0&0&0\\0&0&0&0\end{bmatrix}$

The (normalized) Choi matrix for the quantum circuit with Hadamard of Qubit 0, is:

$\rho_{choi}^{sys} = \begin{bmatrix}0.25&0.25&0.25&-0.25\\0.25&0.25&0.25&-0.25\\0.25&0.25&0.25&-0.25\\-0.25&-0.25&-0.25&0.25\end{bmatrix}$

This can be found either using Qiskit, or solving $(I \otimes H)(|\Omega \rangle \langle \Omega |)(I \otimes H)^\dagger$, where $|\Omega \rangle$ is the Bell pair $\dfrac{1}{\sqrt{2}} (|00\rangle +|11\rangle )$

Considering I am applying a Hadamard on the $\rho_{in}$, the output density matrix:

$\rho_{out} = H|0\rangle \langle 0|H^{\dagger} = \begin{bmatrix}0.5&0.5\\0.5&0.5\end{bmatrix}$

How exactly do I recover this back from the $\rho_{choi}^{sys}, \rho_{in}^{sys}$ and partial trace as given in the Qiskit link https://qiskit.org/documentation/stubs/qiskit.quantum_info.Choi.html?


For any map $\Lambda(\cdot)$ with Choi representation $\rho_{C}$ defined as you are doing it (i.e. the channel on the second biparition of the maximally entangled state), the output $\rho_{out} = \Lambda(\rho_{in})$ can be calculated as:

$$ \rho_{out} = \mathrm{tr}_{1}\big[\rho_{C}\big(\rho_{in}^{t} \otimes I\big)\big] $$

where the trace is over the ancilla space and $\rho_{in}^{t}$ is the (non-complex) transpose of $\rho_{in}$.

Sometimes rather than $I$ the maximally mixed state $I/d$ is used, but all that changes is that there's an extra factor of $d$ - just renormalize the output state as $\rho_{out} \rightarrow \frac{\rho_{out}}{\mathrm{tr}[\rho_{out}]}]$ and you should be all set.

Btw, usually the Choi matrix is defined with the channel on the first bipartition (e.g. in your case the first qubit), and not the second qubit. In your case the Choi matrix doesn't really change though, but strictly speaking you then get $\big(I \otimes \rho_{in}^{t}\big)$ and the trace over the other bipartition.

  • $\begingroup$ Do you want the calculations for your specific case shown? $\endgroup$ – JSdJ Jul 8 at 12:14
  • $\begingroup$ Hi Jarn, your QuTech MSc. thesis from your other answers has been of great help in my introductory study of QPT. Yes, I was looking for a simple example and it would be great if you can help me out with this specific case. I know the formula you mentioned from the Qiskit page, and I would like to stick to having the process on the least signification qubits and ancilla on the rest for other reasons. $\endgroup$ – Aritra Jul 8 at 12:25

You want to calculate $$ \rho_{out}=2\text{Tr}_0(\rho_{in}^T\otimes I\cdot\rho^{sys}_{choi}). $$

  • $\begingroup$ I think there might be a transpose on $\rho_{in}$ missing here? Or am I missing something myself? $\endgroup$ – JSdJ Jul 8 at 12:15
  • $\begingroup$ well that works... I still have 2 doubts though... (1) I assume that 2 is from normalization. Is it's general for $2^n$ (where n is the number of qubits in the process). (2) the $\rho_{in}$ is tensored with an identity, which is not a density matrix. I was assuming it to be the density matrix of the |0> state for the ancilla. What does it represent? $\endgroup$ – Aritra Jul 8 at 12:36
  • $\begingroup$ @JSdJ Yes, you're probably right! $\endgroup$ – DaftWullie Jul 8 at 14:15
  • $\begingroup$ @Aritra Yes, the 2 is a normalisation issue. In general, if your input is on a $d$-dimensional hilbert space, you'd replace the 2 with $d$. $\endgroup$ – DaftWullie Jul 8 at 14:16
  • $\begingroup$ The point of the identity term is "do nothing". You don't want to do anything to the output of the channel, and certainly you don't want to compare it to some other state. $\endgroup$ – DaftWullie Jul 8 at 14:19

Let $\Phi$ be a channel acting on a state $\rho$ (or more generally, a map acting on a linear operator; we don't actually need restrict to CPTP maps and states for these calculations). Let $J(\Phi)$ be the Choi representation of $\Phi$, i.e. $$J(\Phi)\equiv \sum_{ij} \Phi(E_{ij})\otimes E_{ij},$$ where $E_{ij}\equiv|i\rangle\!\langle j|$. Denote with $J(\Phi)_{ij,k\ell}$ the matrix elements of $J(\Phi)$ (remember that $J(\Phi)$ is a bipartite operator/state. We then have $$\Phi(\rho)_{ij} = \sum_{k\ell}J(\Phi)_{ik,j\ell}\rho_{k\ell}.$$ It is worth stressing that $J(\Phi)_{ik,j\ell}$ here is defined as $$J(\Phi)_{ik,j\ell} \equiv \langle i,k|J(\Phi)|j,\ell\rangle = \langle i|\Phi(E_{k\ell})|j\rangle.$$ If you want a component-free expression, you can equivalently write the above as $$\Phi(\rho) = \operatorname{Tr}_2[J(\Phi)(I\otimes \rho^T)].$$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.