Finish writing stabilizer codes

This commit is contained in:
2026-04-24 10:36:59 +02:00
parent 6ea151ffeb
commit ada6e43be3
3 changed files with 85 additions and 51 deletions

View File

@@ -18,6 +18,11 @@
long=sum-product algorithm long=sum-product algorithm
} }
\DeclareAcronym{css}{
short=CSS,
long=Calderbank-Shor-Steane
}
\DeclareAcronym{llr}{ \DeclareAcronym{llr}{
short=LLR, short=LLR,
long=log-likelihood ratio long=log-likelihood ratio

View File

@@ -1155,8 +1155,8 @@ Consider the two-qubit repetition code
\underbrace{\ket{11}}_{=:\ket{1}_\text{L}} \underbrace{\ket{11}}_{=:\ket{1}_\text{L}}
.% .%
\end{align*} \end{align*}
We call $\ket{\psi}_L$ the logical state. We call $\ket{\psi}_L$ the logical state, and
We define the \emph{codespace} as $\mathcal{C} := \text{span}\mleft\{ we define the \emph{codespace} as $\mathcal{C} := \text{span}\mleft\{
\ket{00}, \ket{11} \mright\}$ and the \emph{error subspace} as \ket{00}, \ket{11} \mright\}$ and the \emph{error subspace} as
$\mathcal{F} := \text{span} \mleft\{\ket{01}, \ket{10} \mright\}$. $\mathcal{F} := \text{span} \mleft\{\ket{01}, \ket{10} \mright\}$.
Note that this code is only able to detect single $X$-type errors. Note that this code is only able to detect single $X$-type errors.
@@ -1195,7 +1195,7 @@ $E\ket{\psi}_\text{L}$ lies in $\mathcal{C}$ or $\mathcal{F}$.
% non-compromising meausrement of the information % non-compromising meausrement of the information
To do this without directly observing (and thus potentially To do this without directly observing (and thus potentially
collapsing) the logical state $\ket{\psi}_\text{L}$, we prepare an collapsing) the logical state $\ket{\psi}_\text{L}$, we prepare an
ancilla qubit with state $\ket{0}_\text{A}$ and we entangle it with ancilla qubit with state $\ket{0}_\text{A}$ and entangle it with
$\ket{\psi}_\text{L}$ in such a way that the eigenvalue is indicated $\ket{\psi}_\text{L}$ in such a way that the eigenvalue is indicated
by measuring that instead. by measuring that instead.
More specifically, using a stabilizer measurement circuit as shown in More specifically, using a stabilizer measurement circuit as shown in
@@ -1258,7 +1258,7 @@ This effect is referred to as error \emph{digitization}
% The stabilizer group % The stabilizer group
Operators such as $Z_1Z_2$ above are called \emph{stabilizers}. Operators such as $Z_1Z_2$ above are called \emph{stabilizers}.
An operator $P_i \in \mathcal{G}_n$ is called a stabilizer of an More generally, an operator $P_i \in \mathcal{G}_n$ is called a stabilizer of an
$[[n, k, d_\text{min}]]$ code $\mathcal{C}$, if $[[n, k, d_\text{min}]]$ code $\mathcal{C}$, if
\begin{itemize} \begin{itemize}
\item It stabilizes all logical states, i.e., \item It stabilizes all logical states, i.e.,
@@ -1307,11 +1307,11 @@ and the stabilizer measurement returns 1.
For classical binary linear block codes, we use $n-k$ parity-checks For classical binary linear block codes, we use $n-k$ parity-checks
to reduce the degrees of freedom introduced by the encoding operation. to reduce the degrees of freedom introduced by the encoding operation.
Effectively, each parity-check defines a local code, splitting the Effectively, each parity-check defines a local code splitting the
vector space in half, with only one half containing valid codewords. vector space in half, with only one part containing valid codewords.
The global code is the intersection of all local codes. The global code is the intersection of all local codes.
We can do the same in the quantum case. We can do the same in the quantum case.
Each split is represented using stabilizer, whose eigenvalues signify Each split is represented using a stabilizer, whose eigenvalues signify
whether a candidate vector lies in the local codespace or local error subspace. whether a candidate vector lies in the local codespace or local error subspace.
It is only a valid codeword if it lies in the codespace of all local codes. It is only a valid codeword if it lies in the codespace of all local codes.
We call codes constructed this way \emph{stabilizer codes}. We call codes constructed this way \emph{stabilizer codes}.
@@ -1323,19 +1323,60 @@ describe which local codes are violated.
To obtain the syndrome, we simply measure the corresponding To obtain the syndrome, we simply measure the corresponding
operators $P_i$, each using a circuit as explained in operators $P_i$, each using a circuit as explained in
\autoref{subsec:Stabilizer Measurements}. \autoref{subsec:Stabilizer Measurements}.
A full \emph{syndrome extraction circuit} is depicted in \autoref{fig:sec}. Note that this is an abstract representation of the syndrome extraction.
For the actual implementation in hardware, we can transform this into
a circuit that requires only CNOT and H-gates
\cite[Sec.~10.5.8]{nielsen_quantum_2010}.
% TODO: Move this further up to the commutativity of operators? % Logical operators
\indent\red{[Fixing the error after finding it
\cite[Sec.~10.5.5]{nielsen_quantum_2010} -> This may require In order to modify the logical state encoded using the physical
introducing the gates as unitary]} \\ qubits, we can use \emph{logical operators} \cite[Sec.~4.2]{roffe_quantum_2019}.
\indent\red{[Logical operators \cite[Sec.~4.2]{roffe_quantum_2019}]} \\ For each qubit, there are two logical operators, $X_i$ and $Z_j$.
\indent\red{[Measuring logical operators yields the outcomes of These are operators that
the encoded computations \cite[Sec.~2.6]{derks_designing_2025}]} \\ \begin{itemize}
\indent\red{[X and Z measurements can be performed with only CNOT and \item Commute with all the stabilizers in $\mathcal{S}$.
Hadamard gates \cite[Sec.~10.5.8]{nielsen_quantum_2010}]} \\ \item Anti-commute with one another, i.e., $[ \overline{X}_i,
\indent\red{[(?) Stabilizer generators]} \\ \overline{Z}_i ]_{+} = \overline{X}_i \overline{Z}_i +
\indent\red{[Parity-check matrix \cite[Sec.~10.5.1]{nielsen_quantum_2010}]} \overline{Z}_i \overline{X}_i = 0$.
\end{itemize}
We can also measure these operators to find out the logical state a
physical state corresponds to \cite[Sec.~2.6]{derks_designing_2025}.
% Parity-check matrix
% TODO: Do I have to introduce before that stabilizers only need X
% and Z operators?
Stabilizer codes are the quantum analog of classical linear block codes.
As such, we can represent them using a \emph{check matrix}
\cite[Sec.~10.5.1]{nielsen_quantum_2010}.
This is similar to a classical \ac{pcm} in that it contains $n-k$
rows, each describing one constraint. Each constraint restricts an additional
degree of freedom of the higher-dimensional space we use to introduce
redundancy.
In contrast to the classical case, this matrix now has $2n$ columns,
as we have to consider both the $X$ and $Z$ type operators that make up
the stabilizers.
Take for example the Steane code \cite[Eq.~10.83]{nielsen_quantum_2010}.
We can describe it using the check matrix
\begin{align*}
\left[
\begin{array}{ccccccc|ccccccc}
0 & 0 & 0 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 1 & 1 & 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 1 & 1 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1
\end{array}
\right]
.%
\end{align*}
We can understand each row as defining a stabilizer.
The first $n$ columns correspond to $X$ operators acting on the
corresponding physical qubit, the rest to the $Z$ operators.
% TODO: Write
\begin{figure}[t] \begin{figure}[t]
\centering \centering
@@ -1352,7 +1393,7 @@ Hadamard gates \cite[Sec.~10.5.8]{nielsen_quantum_2010}]} \\
% tex-fmt: on % tex-fmt: on
\caption{ \caption{
Illustration of a general syndrome extraction circuit. Illustration of a full syndrome extraction circuit.
Adapted from \cite[Figure~4]{roffe_quantum_2019}. Adapted from \cite[Figure~4]{roffe_quantum_2019}.
} }
\label{fig:sec} \label{fig:sec}
@@ -1366,13 +1407,17 @@ 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 We can then separate the stabilizer generators into some with only
$Z$ operators and some with only $X$ operators. $Z$ operators and some with only $X$ operators.
We call such codes \ac{css} codes.
\indent\red{[Z-type operators for X type errors and vice versa ]} \\ \indent\red{[Z-type operators for X type errors and vice versa ]} \\
\indent\red{[Construction from two binary linear codes \indent\red{[Construction from two binary linear codes
\cite[p.~452,469]{nielsen_quantum_2010}]} \\ \cite[p.~452,469]{nielsen_quantum_2010}]} \\
%%%%%%%%%%%%%%%%
\subsection{Quantum Low-Density Parity-Check Codes} \subsection{Quantum Low-Density Parity-Check Codes}
\label{subsec:Quantum Low-Density Parity-Check Codes}
\noindent\red{[(?) Mention color and surface codes]} \\
\noindent\red{[Constant overhead scaling]} \\ \noindent\red{[Constant overhead scaling]} \\
\noindent\red{[Scaling of minimum distance with code length]} \\ \noindent\red{[Scaling of minimum distance with code length]} \\
\noindent\red{[Bivariate Bicycle codes]} \\ \noindent\red{[Bivariate Bicycle codes]} \\
@@ -1382,37 +1427,19 @@ $Z$ operators and some with only $X$ operators.
measured syndrome, the most likely error coset rather than the exact measured syndrome, the most likely error coset rather than the exact
physical error.'' physical error.''
% tex-fmt: off % tex-fmt: off
\cite[Sec.~II~B)]{koutsioumpas_colour_2025}]}% \cite[Sec.~II~B)]{koutsioumpas_colour_2025}%
% tex-fmt: on % tex-fmt: on
\\ ]} \\
\red{ %%%%%%%%%%%%%%%%
\textbf{General Notes:} \subsection{Decoding Quantum Codes}
\begin{itemize} \label{subsec:Decoding Quantum Codes}
\item Note that there are other codes than stabilizer codes
(and research and give some examples), but only \noindent\indent\red{[The QEC decoding problem
stabilizer codes are considered in this work \cite[Sec.~2.3]{yao_belief_2024}]} \\
\item Degeneracy \indent\red{[+ Degeneracy]} \\
\item The QEC decoding problem (considering degeneracy) \indent\red{[+ Short cycles]} \\
\cite[Sec.~2.3]{yao_belief_2024} \indent\red{[Fixing the error after finding it
\end{itemize} \cite[Sec.~10.5.5]{nielsen_quantum_2010} -> This
\textbf{Content:} may require introducing the gates as unitary]}
\begin{itemize}
\item Stabilizer codes
\begin{itemize}
\item syndrome extraction circuit
\item Stabilizer codes are effectively the QM
% TODO: Actually binary linear codes or
% just linear codes?
equivalent of binary linear codes (e.g.,
expressible via check matrix)
\item Similar to parity checks, quantum states can be
more conveniently described using stabilizers
rather than working with the states directly
\cite[Sec.~10.5.1]{nielsen_quantum_2010}
\end{itemize}
\item Color codes?
\item Surface codes?
\end{itemize}
}

View File

@@ -30,6 +30,8 @@
\renewcommand{\todo}[2][]{\tikzexternaldisable\@todo[#1]{#2}\tikzexternalenable} \renewcommand{\todo}[2][]{\tikzexternaldisable\@todo[#1]{#2}\tikzexternalenable}
\makeatother \makeatother
\setcounter{MaxMatrixCols}{20}
% %
% %
% Custom commands % Custom commands