# Is there a standard form for CSS codes?

For a generic stabilizer code, there's a standard form for $$H,X,Z$$; see for example previuos post.

For CSS codes, there are at least these simplifications : $$B=0$$; $$C_2=0$$; I think $$A_1$$ and $$D$$ can also be transformed to $$0$$ but I'm not sure. There could also be other simplifications. Has anyone worked out the details or knows of a reference for such a standard form?

Certainly $$B=C_2=0$$ for CSS codes. But for the other two.

A CSS code is made out of two classical codes, with parity check matrices $$H_X, H_Z$$, and these matrices are the submatrices of the quantum code's stabilizer generator matrix.

Classical codes can also be transformed into equivalent codes by row operations on the parity-check matrices.

Let's imagine if $$H_i$$ is a $$k_i\times n$$ matrix for $$i=X,Z$$, and represents a $$n$$ bit code. Now, if $$H_i$$ could be simplified further so that entire columns could be made zero, then it is actually a code on fewer than $$n$$ bits! That is clearly not possible.

### Argument impossible algorithm

We have the matrix $$H = \left(\begin{array}{ccc|ccc} I & A_1 & A_2 & 0 & 0 & 0 \\ 0 & 0 & 0 & D & I & E_2 \end{array}\right).$$

How do we intend to turn any of the submatrices $$0$$ with row operations? Take $$D$$ for instance. There are no $$1$$ in any row above it. So we can't do any operations that remove all $$1$$ from every column of $$D$$. We will always be left with at least one $$1$$ in each column no matter what row operations we do.

• I came to the same conclusion last night after I posted the question. In standard form the destabilizers have form : $((0,0,0|I,0,0),(0,I,0|0,0,0))$ and that lead me to believe they can be used to eliminate $A_1$ and $D$ but that screws up the commutation relations so it's a no go. There is one restriction on the matrices that follows from $H_x H_z^T=0$ : $D^T + A_1 I^T + A_2 E_2^T = 0$ Jun 14 at 17:59