From 3aa1518455491088757f6c319ceb24eab614681d Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 20 Apr 2026 18:58:55 +0200 Subject: [PATCH] Finish QEC intro, most of stabilizer measurements, add outline for rest --- src/thesis/chapters/2_fundamentals.tex | 456 +++++++++++++++++++++---- 1 file changed, 389 insertions(+), 67 deletions(-) diff --git a/src/thesis/chapters/2_fundamentals.tex b/src/thesis/chapters/2_fundamentals.tex index 3b6b2dd..c0bb9ff 100644 --- a/src/thesis/chapters/2_fundamentals.tex +++ b/src/thesis/chapters/2_fundamentals.tex @@ -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} + } +