Finish QEC intro, most of stabilizer measurements, add outline for rest

This commit is contained in:
2026-04-20 18:58:55 +02:00
parent 2377b02974
commit 3aa1518455

View File

@@ -815,23 +815,23 @@ using \emph{projection operators} \cite[Eq.~3.160]{griffiths_introduction_1995}
\end{align*}%
These project a vector onto the subspace spanned by $\ket{e_n}$.
% Using projection operators to measure if a state has a component
% along a basis vector
A particularly interesting property of projection operators is that
\begin{align*}
\hat{P}_n (\hat{P}_n \ket{\psi}) = \hat{P}_n^2 \ket{\psi}
= \hat{P}_n \ket{\psi},
\end{align*}%
and the only way this can hold for any $\ket{\psi}$ is if $\hat{P}_n$
only has the eigenvalues $0$ or $1$
% tex-fmt: off
\cite[Prob.~3.57a)]{griffiths_introduction_1995}.
% tex-fmt: on
The eigenvalues can again be interpreted as possible measurement results.
We can thus use $\hat{P}$ as an observable and treat
the eigenvalue as an indicator of the state having a component along
the related basis vector.
% % Using projection operators to measure if a state has a component
% % along a basis vector
%
% A particularly interesting property of projection operators is that
% \begin{align*}
% \hat{P}_n (\hat{P}_n \ket{\psi}) = \hat{P}_n^2 \ket{\psi}
% = \hat{P}_n \ket{\psi},
% \end{align*}%
% and the only way this can hold for any $\ket{\psi}$ is if $\hat{P}_n$
% only has the eigenvalues $0$ or $1$
% % tex-fmt: off
% \cite[Prob.~3.57a)]{griffiths_introduction_1995}.
% % tex-fmt: on
% The eigenvalues can again be interpreted as possible measurement results.
% We can thus use $\hat{P}$ as an observable and treat
% the eigenvalue as an indicator of the state having a component along
% the related basis vector.
%%%%%%%%%%%%%%%%
\subsection{Qubits and Multi-Qubit States}
@@ -892,7 +892,7 @@ We have
\end{split}
\end{align}
We call $\ket{x_0, \ldots, x_n}~, x_i \in \{0,1\}$ the
\emph{computational basis states} \cite[Sec.~4.6]{wohlin_guidelines_2014}.
\emph{computational basis states} \cite[Sec.~4.6]{nielsen_quantum_2010}.
% Entanglement
@@ -937,7 +937,7 @@ thus the only possible state change is a bit-flip, a gerenal qubit
state as shown in \autoref{eq:gen_qubit_state} lives on a continuum of values.
We thus technically also have an infinite number of possible state changes.
Luckily, we can express any operator as a linear combination of the
\emph{Pauli operators}
\emph{Pauli operators} \cite[Sec.~2.2]{gottesman_stabilizer_1997}
\cite[Sec.~2.2]{roffe_quantum_2019}
\begin{align*}
\begin{array}{c}
@@ -1010,67 +1010,389 @@ Other important operators include the \emph{Hadamard} and
\noindent Many more operators relevant to quantum computing exist, but they are
not covered here as they are not central to this work.
\indent\red{[We only need to consider X and Z errors]
\cite[Equation~8]{roffe_quantum_2019}} \\
\indent\red{[Explain commuting/anticommuting property of operators]
[Journal~p.~46]}
%%%%%%%%%%%%%%%%
\subsection{Quantum Circuits}
\label{Quantum Circuits}
\red{[TODO] \cite[Sec.~1.3.4]{nielsen_quantum_2010}}
\noindent\indent\red{[Controlled operations]
\cite[Sec.~4.3]{nielsen_quantum_2010}} \\
\indent\red{[In case this reference is needed: Measurements
\cite[Sec.~4.4]{nielsen_quantum_2010}]} \\
\indent\red{[General circuit stuff] \cite[Sec.~1.3.4]{nielsen_quantum_2010}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Quantum Error Correction}
\label{sec:Quantum Error Correction}
% Why we need quantum error correction
% TODO: Use this for the introduction as well
% The unique challenges of QEC compared to classical FEC
% General motivation behind QEC
% The unique challenges of QEC compared to classical FEC
One of the major barriers on the road to building a functioning
quantum computer is the inevitability of errors during quantum
computation due to the difficulty in sufficiently isolating the
qubits from external noise \cite[Intro.]{roffe_quantum_2019}.
This isolation is critical for quantum systems, as the constant interactions
with the environment act as small measurements, leading to the
eventual \emph{decoherence} of the quantum state
\cite[Intro.]{gottesman_stabilizer_1997}.
\ac{qec} is one approach of dealing with this problem, by protecting
the quantum state in a similar fashion to information in classical error
correction.
\red{
\textbf{General Notes:}
\begin{itemize}
\item Note that there are other codes than stabilizer codes
(and research and give some examples), but only
stabilizer codes are considered in this work
\item Degeneracy
\item The QEC decoding problem (considering degeneracy)
\cite[Sec.~2.3]{yao_belief_2024}
\item Why we need commutativity of the stabilizers [Journal,
p.~51], [Got97, p.~6]
\end{itemize}
\textbf{Content:}
\begin{itemize}
\item General context
\begin{itemize}
\item Why we need QEC (correcting errors due to noisy gates)
\item Main challenges of QEC compared to classical
error correction
\item Logical vs physical states, logical vs physical operators
\end{itemize}
\item Stabilizer codes
\begin{itemize}
\item Definition of a stabilizer code
\item The stabilizer its generators (note somewhere
that the generators have to commute to be able to
be measured without disturbing each other)
\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 Digitization of errors
\item CSS codes
\item Color codes?
\item Surface codes?
\end{itemize}
}
% The unique challenges of QEC
The problem setting of \ac{qec} differs slightly from the classical case, as
three main restrictions apply \cite[Sec.~2.4]{roffe_quantum_2019}:
\begin{itemize}
\item The no-cloning theorem states that it is
impossible to exactly copy the state of one qubit into another.
\item Qubit are susceptible to more types of errors than
just bit-flips, as we saw in
\autoref{subsec:Qubits and Multi-Qubit States}.
\item Directly measuring the state of a qubit collapses it onto
one of the determinate states, thereby potentially destroying
information.
\end{itemize}
% General idea (logical vs. physical gates) + notation
Much like in classical error correction, in \ac{qec} information
is protected by mapping it onto codewords in an expanded space,
thereby introducing redundancy.
To this end, $k \in \mathbb{N}$ \emph{logical qubits} are mapped onto
$n \in \mathbb{N},~n>k$ \emph{physical qubits}.
We circumvent the no-cloning restriction by not copying the state of
the $k$ logical qubits, but rather spreading it out over all $n$
physical ones \cite[Intro.]{calderbank_good_1996}
To differentiate a quantum codes from classical ones, we denote a
code with parameters $k,n$ and minimum distance $d_\text{min}$ using
double brackets, as $[[ n,k,d_\text{min} ]]$ \cite[Sec.~4]{roffe_quantum_2019}.
%%%%%%%%%%%%%%%%
\subsection{Stabilizer Measurements}
\label{subsec:Stabilizer Measurements}
% Setting the stage
Before we move on to the description of entire codes, we introduce
the notion of the \emph{stabilizer measurement}.
Consider the two-qubit repetition code
\cite[Sec.~2.4]{roffe_quantum_2019}, where we map
\begin{align*}
\ket{\psi} = \alpha \ket{0} + \beta \ket{1}
\hspace*{3mm} \mapsto \hspace*{3mm}
\ket{\psi}_\text{L}
= \alpha \underbrace{\ket{00}}_{=:\ket{0}_\text{L}} + \beta
\underbrace{\ket{11}}_{=:\ket{1}_\text{L}}
.%
\end{align*}
We call $\ket{\psi}_L$ the logical state.
We define the \emph{codespace} as $\mathcal{C} := \text{span}\mleft\{
\ket{00}, \ket{11} \mright\}$ and the \emph{error subspace} as
$\mathcal{F} := \text{span} \mleft\{\ket{01}, \ket{10} \mright\}$.
Note that this code is only able to detect single $X$-type errors.
% Measuring stabilizers
To determine if an error occurred, we want to measure
whether a state belongs
% TODO: Remove footnote?
% \footnote{
% It is possible for a state to not completely lie in either subspace.
% In this case, we can interpret it as being in
% $\mathcal{C}$ or $\mathcal{F}$ with a certain probability.
% }
to $\mathcal{C}$ or $\mathcal{F}$.
As explained in \autoref{subsec:Observables}, physical measurements
can be mathematically described using operators whose eigenvalues
are the possible measurement results.
Here, we need an operator with two eigenvalues and the corresponding
eigenspaces should be $\mathcal{C}$ and $\mathcal{F}$ respectively.
For the two-qubit code, $Z_1Z_2$ is such an operator:
\begin{align}
Z_1Z_2 E \ket{\psi}_\text{L} &= (+1) E \ket{\psi}_\text{L}
\hspace*{3mm} \forall
E \ket{\psi}_\text{L} \in \mathcal{C} \\
Z_1Z_2 E \ket{\psi}_\text{L} &= (-1) E \ket{\psi}_\text{L}
\hspace*{3mm} \forall
E \ket{\psi}_\text{L} \in \mathcal{F}
.%
\end{align}
$E \in \left\{ X,I \right\}$ is an operator describing a possible
error and $E \ket{\psi}_\text{L}$ is the resulting state after that error.
By measuring the corresponding eigenvalue, we can determine if
$E\ket{\psi}_\text{L}$ lies in $\mathcal{C}$ or $\mathcal{F}$.
% TODO: If necessary, cite \cite[Sec.~3]{roffe_quantum_2019} for the
% non-compromising meausrement of the information
To do this without directly observing (and thus potentially
collapsing) the logical state $\ket{\psi}_\text{L}$, we prepare an
ancilla qubit with state $\ket{0}_\text{A}$ and we entangle it with
$\ket{\psi}_\text{L}$ in such a way that the eigenvalue is indicated
by measuring that instead.
More specifically, using a stabilizer measurement circuit as shown in
\autoref{fig:stabilizer_measurement}, we transform the state of the
three-qubit system as
\begin{align}
\label{eq:error_projection}
E\ket{\psi}_\text{L} \ket{0}_\text{A} \hspace*{3mm} \rightarrow
\hspace*{3mm}
\underbrace{\frac{1}{2} \mleft( I_1I_2 + Z_1Z_2 \mright)}_{=:
P_\mathcal{C}} E\ket{\psi}_\text{L}
\ket{0}_\text{A}
+ \underbrace{\frac{1}{2} \mleft( I_1I_2 - Z_1Z_2 \mright)}_{=:
P_\mathcal{F}}
E\ket{\psi}_\text{L} \ket{1}_\text{A}
.%
\end{align}
If $E \ket{\psi}_\text{L} \in \mathcal{C}$, the second term will
cancel and we will deterministically measure $\ket{0}_\text{A}$ for
the ancilla qubit. Similarly, if $E \ket{\psi}_\text{L} \in
\mathcal{F}$, we will deterministically measure $\ket{1}_\text{A}$.
\begin{figure}[t]
\centering
\tikzset{
meter/.append style={
draw, rectangle,
font=\vphantom{A}, minimum width=8mm, minimum height=8mm,
path picture={
\draw[black]
([shift={(.1,.3)}]path picture bounding box.south west)
to[bend left=50]
([shift={(-.1,.3)}]path picture bounding box.south east);
\draw[black,-latex]
([shift={(0,.1)}]path picture bounding box.south)
-- ([shift={(.3,-.1)}]path picture bounding box.north);
}
}
}
\begin{tikzpicture}
\node[rectangle, minimum width=2cm, minimum height=3cm, draw]
(ZZ) {$Z_1Z_2$};
\coordinate (qi1) at (-3, 1);
\coordinate (qi2) at (-3, -1);
\coordinate (qi3) at (-3, -3);
\coordinate (qo1) at (4, 1);
\coordinate (qo2) at (4, -1);
\coordinate (qo3) at (4, -3);
\node[rectangle, minimum width=8mm, minimum height=8mm, draw]
(H1) at ($(qo3 -| ZZ) + (-2, 0)$) {H};
\node[rectangle, minimum width=8mm, minimum height=8mm, draw]
(H2) at ($(qo3 -| ZZ) + (2, 0)$) {H};
\node[circle, fill] (not) at (H1 -| ZZ) {};
\node[meter, right=5mm of H2] (mes) {};
\draw (qi1) -- (ZZ.west |- qi1);
\draw (qi2) -- (ZZ.west |- qi2);
\draw (qo1) -- (ZZ.east |- qo1);
\draw (qo2) -- (ZZ.east |- qo2);
\draw (qi3) -- (H1) -- (not) -- (H2) -- (mes);
\draw (not) -- (ZZ);
\coordinate (qo3u) at ($(qo3) + (0, .5mm)$);
\coordinate (qo3d) at ($(qo3) + (0, -.5mm)$);
\draw (mes.east |- qo3u) -- (qo3u);
\draw (mes.east |- qo3d) -- (qo3d);
\node[left] at (qi3) {$\ket{0}_\text{A}$};
\node[left] at ($(qi1)!.5!(qi2)$) {$E\ket{\psi}_\text{L}$};
\node[right] at ($(qo1)!.5!(qo2)$) {$E\ket{\psi}_\text{L}$};
\end{tikzpicture}
\caption{Stabilizer measurement circuit for the two-qubit repetition code.}
\label{fig:stabilizer_measurement}
\end{figure}
% Digitization of errors
Note that it is possible for a vector $E\ket{\psi}$ to not completely
lie in either subspace.
In this case, we can interpret it as being in $\mathcal{C}$ or
$\mathcal{F}$ with a certain probability.
However, when we measure the stabilizer, we will find that the vector
lies either in one or the other.
This is because the act of measuring the error partly collapses the
state, eliminating the uncertainty about the type of the error
\cite[Sec.~10.2]{nielsen_quantum_2010}.
This can be seen in \autoref{eq:error_projection}, as the expressions
$P_\mathcal{C}$ and $P_\mathcal{F}$ constitute projection operators onto
$\mathcal{C}$ and $\mathcal{F}$.
E.g., $P_\mathcal{C}$ will eliminate all components of $E
\ket{\psi}_\text{L}$ that lie in $\mathcal{F}$.
This process, together with the fact that any coherent error can be
decomposed into a linear combination of $X$ and $Z$ errors, means
that it is enough for a \ac{qec} scheme only needs to be able to
correct $X$ and $Z$ errors.
This effect is referred to as error \emph{digitization}
\cite[Sec.~2.2]{roffe_quantum_2019}.
% The stabilizer group
\indent\red{[Conditions for the stabilizer group
\cite[Sec.~4.1]{roffe_quantum_2019}]} \\
\indent\red{[Why we care about (anti-)commutativity of the
stabilizers with errors + Z-type operators for X type errors and vice
versa ]} \\
\indent\red{[(?) Stabilizer generators]}
% A general stabilizer measurement circuit
\indent\red{[General stabilizer measurement circuit
\cite[Figure~4]{roffe_quantum_2019}]}
%%%%%%%%%%%%%%%%
\subsection{Stabilizer Codes}
\subsection{CSS Codes}
\label{subsec:Stabilizer Codes}
% Structure of a stabilizer code
For classical binary linear block codes, we use $n-k$ parity-checks
to reduce the degrees of freedom introduced by the encoding operation.
Effectively, each parity-check defines a local code, splitting the
vector space in half, with only one half containing valid codewords.
The global code is the intersection of all local codes.
We can do the same in the quantum case.
Each split is represented using stabilizer, whose eigenvalues signify
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.
We call codes constructed this way \emph{stabilizer codes}.
% Syndrome extraction circuitry
Similar to the classical case, we can use a syndrome vector to
describe which local codes are violated.
To obtain the syndrome, we simply measure the corresponding
operators, each using a circuit as explained in
\autoref{subsec:Stabilizer Measurements}.
A full \emph{syndrome extraction circuit} is depicted in \autoref{fig:sec}.
% TODO: Move this further up to the commutativity of operators?
\indent\red{[Fixing the error after finding it
\cite[Sec.~10.5.5]{nielsen_quantum_2010}]} \\
\indent\red{[Logical operators \cite[Sec.~4.2]{roffe_quantum_2019}]} \\
\indent\red{[Measuring logical operators gives yields the outcomes of
the encoded computations \cite[Sec.~2.6]{derks_designing_2025}]} \\
\indent\red{[X and Z measurements can be performed with only CNOT and
Hadamard gates \cite[Sec.~10.5.8]{nielsen_quantum_2010}]} \\
\indent\red{[Parity-check matrix \cite[Sec.~10.5.1]{nielsen_quantum_2010}]}
\begin{figure}[t]
\centering
\tikzset{
meter/.append style={
draw, rectangle,
font=\vphantom{A}, minimum width=8mm, minimum height=8mm,
path picture={
\draw[black]
([shift={(.1,.3)}]path picture bounding box.south west)
to[bend left=50]
([shift={(-.1,.3)}]path picture bounding box.south east);
\draw[black,-latex]
([shift={(0,.1)}]path picture bounding box.south)
-- ([shift={(.3,-.1)}]path picture bounding box.north);
}
}
}
\red{Hier könnte Ihre Werbung stehen.}
\caption{
\red{Illustration of a general syndrome extraction circuit.
Adapted from \cite[Figure~4]{roffe_quantum_2019}.}
}
\label{fig:sec}
\end{figure}
%%%%%%%%%%%%%%%%
\subsection{Calderbank-Shor-Steane Codes}
\label{subsec:Calderbank-Shor-Steane Codes}
Stabilizer codes are especially practical to work with when they can
handle $X$- and $Z$-type errors independently.
We can then separate the stabilizer generators into some with only
$Z$ operators and some with only $X$ operators.
\indent\red{[Construction from two binary linear codes
\cite[p.~452,469]{nielsen_quantum_2010}]}
\subsection{Quantum Low-Density Parity-Check Codes}
\noindent\red{[Constant overhead scaling]} \\
\noindent\red{[Scaling of minimum distance with code length]} \\
\noindent\red{[Bivariate Bicycle codes]} \\
\noindent\red{[Decoding QLDPC codes (syndrome-based BP)]} \\
\noindent\red{[Degeneracy -> BP+OSD, BPGD]} \\
\noindent\red{[``The task of decoding is therefore to infer, from a
measured syndrome, the most likely error coset rather than the exact
physical error.''
% tex-fmt: off
\cite[Sec.~II~B)]{koutsioumpas_colour_2025}]}%
% tex-fmt: on
\\
\red{
\textbf{General Notes:}
\begin{itemize}
\item Note that there are other codes than stabilizer codes
(and research and give some examples), but only
stabilizer codes are considered in this work
\item Degeneracy
\item The QEC decoding problem (considering degeneracy)
\cite[Sec.~2.3]{yao_belief_2024}
\end{itemize}
\textbf{Content:}
\begin{itemize}
\item General context
\begin{itemize}
\item Why we need QEC (correcting errors due
to noisy gates)
\item Main challenges of QEC compared to classical
error correction
\item Logical vs physical states, logical vs
physical operators
\end{itemize}
\item Stabilizer codes
\begin{itemize}
\item Definition of a stabilizer code
\item The stabilizer its generators (note somewhere
that the generators have to commute
to be able to
be measured without disturbing each other)
(Why we need commutativity of the
stabilizers [Journal,
p.~51], [Got97, p.~6])
\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 Digitization of errors
\item CSS codes
\item Color codes?
\item Surface codes?
\end{itemize}
}