# Degenerated vs non degenerated code: for both there always exist Kraus bringing to different orthogonal subspaces?

## Context of my question

I call: $$\mathcal{M}(\rho)=\sum_a M_a \rho M_a^{\dagger}$$ an error map, $$C$$ the code space.

A CPTP recovery operation exists if and only if, the Kraus operator of the error map verify the Knill-Laflamme condition:

$$\forall (i,j) \in C : \langle \overline{i} | M_{\delta}^{\dagger} M_{\mu} | \overline{j} \rangle = C_{\delta \mu} \delta_{ij}$$

With $$C_{\delta \mu}$$ an Hermitian matrix and $$\langle \overline{i} | \overline{j} \rangle=\delta_{ij}$$ (the family $$| \overline{i} \rangle$$ forms an orthonormal basis of $$C$$).

From this condition we can distinguish two cases:

• Non degenerated quantum code: $$C_{\delta \mu}=\delta_{\delta \mu}$$
• Degenerated quantum code otherwise

There always exist a set of Kraus operator such that $$C_{\delta \mu} = C_{\delta} \delta_{\delta \mu}$$: using the freedom to choose the Kraus we can show that diagonalizing $$C$$ on the rhs, is equivalent to take another set of equivalent Kraus operator on the lhs. I can edit with the derivation if necessary but it is really just a matter of writing the thing. Thus for any map $$\mathcal{M}$$, we can in principle have a set of Kraus satisfying:

$$\forall (i,j) \in C : \langle \overline{i} | M_{\delta}^{\dagger} M_{\mu} | \overline{j} \rangle = C_{\mu} \delta_{\delta \mu} \delta_{ij}$$

The distinction between degenerated and non degenerated can then be rephrased as:

• Non degenerated quantum code: $$C_{\mu}=1$$
• Degenerated quantum code otherwise

## My question

Because of this last remark, it shows that there always exist a set of Kraus operator such that an error map satisfying Knill-Laflamme condition would bring two different codeword to two orthogonal subspace (we can generalize by linearity to any two vector living in $$C$$).

Thus for me what remains is that the "conceptual" difference between degenerated and non degenerated code is that:

Whatever the Kraus we use to represent the map, each Kraus of a non degenerated code will always put two different error into two orthogonal subspace.

For degenerated code it is not always the case but there exists a set of Kraus such that it is the case. And for those the difference is that the length of the vector will be modified in a different manner for each different kind of Kraus.

Would you agree ?

Can we give a physical meaning to this change in length when we work with "the good Kraus" for degenerated code ?

Next, the given error correction condition $$\forall (i,j) \in C : \langle \overline{i} | M_{\delta}^{\dagger} M_{\mu} | \overline{j} \rangle = C_{\delta \mu} \delta_{ij}$$ is correct but what follows with the cases is not correct. Nondegenerate does not mean that you always have $$C_{\delta\mu} = \delta_{\delta\mu}$$ and at this point you cannot say whether the code is degenerate. Like you mention next, it is required to diagonalize the matrix $$C_{\delta \mu}$$ meaning find Kraus operators $$N_{\delta}$$ such that $$\forall (i,j) \in C : \langle \overline{i} | N_{\delta}^{\dagger} N_{\mu} | \overline{j} \rangle = D_{\delta \mu} \delta_{ij}$$ where $$D_{\delta \mu} = 0$$ if $$\delta \neq \mu$$ (but in general it does not hold that $$D_{\mu \mu} = 1$$). See Theorem 10.1 of Nielsen and Chuang for the proof of this.
I will not prove this, but it turns out that the code is nondegenerate if and only if $$D_{\mu \mu} \neq 0$$ for all $$\mu$$ (this is the correct statement as opposed to $$C_\mu = 1$$). On the other hand this says that a code is degenerate if and only if there is at least one $$\mu$$ where $$D_{\mu \mu} = 0$$. Whether or not the code is degenerate, the constant $$D_{\mu\mu}$$ is the vector length scaling factor for $$N_{\mu}$$ and if $$\mu \neq \delta$$ then $$N_{\mu}$$ and $$N_{\delta}$$ send the code to orthogonal subspaces. Here the conceptual difference between nondegenerate and degenerate is that if $$D_{\mu \mu} = 0$$ then $$N_{\mu}$$ acts as the zero matrix on the code. In this case we can interpret $$N_{\mu}$$ as essentially being a non-error for our code and so no orthogonal subspace is taken up for this error. We can also relate this back to the first definition. Suppose again $$D_{\mu\mu} = 0$$ but $$D_{\delta\delta} \neq 0$$. We can replace $$N_{\mu}$$ and $$N_{\delta}$$ with $$\frac{1}{\sqrt{2}}(N_{\delta} + N_{\mu})$$ and $$\frac{1}{\sqrt{2}}(N_{\delta} - N_{\mu})$$ which are linearly independent. Observe that for all $$i \in C$$, $$\frac{1}{\sqrt{2}}(N_{\delta} + N_{\mu})|\overline{i}\rangle = \frac{1}{\sqrt{2}}(N_{\delta} - N_{\mu})|\overline{i}\rangle$$ so these Kraus operators act identically on the code.