Write CSS codes section

This commit is contained in:
2026-04-24 11:04:57 +02:00
parent ada6e43be3
commit 4e1bd62504

View File

@@ -1359,7 +1359,8 @@ as we have to consider both the $X$ and $Z$ type operators that make up
the stabilizers. the stabilizers.
Take for example the Steane code \cite[Eq.~10.83]{nielsen_quantum_2010}. Take for example the Steane code \cite[Eq.~10.83]{nielsen_quantum_2010}.
We can describe it using the check matrix We can describe it using the check matrix
\begin{align*} \begin{align}
\label{eq:steane}
\left[ \left[
\begin{array}{ccccccc|ccccccc} \begin{array}{ccccccc|ccccccc}
0 & 0 & 0 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
@@ -1371,7 +1372,7 @@ We can describe it using the check matrix
\end{array} \end{array}
\right] \right]
.% .%
\end{align*} \end{align}
We can understand each row as defining a stabilizer. We can understand each row as defining a stabilizer.
The first $n$ columns correspond to $X$ operators acting on the The first $n$ columns correspond to $X$ operators acting on the
corresponding physical qubit, the rest to the $Z$ operators. corresponding physical qubit, the rest to the $Z$ operators.
@@ -1405,13 +1406,43 @@ corresponding physical qubit, the rest to the $Z$ operators.
Stabilizer codes are especially practical to work with when they can Stabilizer codes are especially practical to work with when they can
handle $X$- and $Z$-type errors independently. handle $X$- and $Z$-type errors independently.
We can then separate the stabilizer generators into some with only As $Z$ errors anti-commute with $X$ operators in the stabilizers and
$Z$ operators and some with only $X$ operators. vice versa, this property translates into being able to split the
stabilizers into some being made up of only $X$
operators and some only of $Z$ operators.
We call such codes \ac{css} codes. We call such codes \ac{css} codes.
We can see this property in \autoref{eq:steane}, in the check matrix
of the Steane code.
\indent\red{[Z-type operators for X type errors and vice versa ]} \\ We can exploit this separate consideration of $X$ and $Z$ errors in
\indent\red{[Construction from two binary linear codes the construction of \ac{css} codes.
\cite[p.~452,469]{nielsen_quantum_2010}]} \\ We can combine two binary linear codes $\mathcal{C}_1$ and
$\mathcal{C}_2$, each responsible for correcting one type of error
\cite[Sec.~10.5.6]{nielsen_quantum_2010}.
Using the dual code of $\mathcal{C}_2$ \cite[Eq.~3.4]{ryan_channel_2009}
\begin{align*}
\mathcal{C}_2^\perp := \left\{ \bm{x}' \in \mathbb{F}^2 :
\bm{x}' \bm{x}^\text{T} = 0 ~\forall \bm{x} \in \mathcal{C}_2 \right\}
,%
\end{align*}
we can construct the check matrix as
\begin{align*}
\left[
\begin{array}{c|c}
\bm{H}(\mathcal{C}_2^\perp) & \bm{0} \\
\bm{0} & \bm{H}(\mathcal{C}_1)
\end{array}
\right]
.%
\end{align*}
In order to yield a valid stabilizer code, $\mathcal{C}_1$ and
$\mathcal{C}_2$ must satisfy the commutativity condition
\begin{align*}
\bm{H}(\mathcal{C}_2^\perp) \bm{H}(\mathcal{C}_1)^\text{T} = \bm{0}
.%
\end{align*}
We can ensure this is the case by choosing them such that
$\mathcal{C}_2 \subset \mathcal{C}_1$.
%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%
\subsection{Quantum Low-Density Parity-Check Codes} \subsection{Quantum Low-Density Parity-Check Codes}