From 10d791fe040ec22eedd7aeb85e57cb0108fb8aff Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Mon, 4 May 2026 23:04:28 +0200 Subject: [PATCH] Final readthrough corrections of quantum fundamentals --- src/thesis/chapters/2_fundamentals.tex | 270 +++++++++--------- src/thesis/chapters/3_fault_tolerant_qec.tex | 8 +- src/thesis/chapters/4_decoding_under_dems.tex | 6 +- 3 files changed, 149 insertions(+), 135 deletions(-) diff --git a/src/thesis/chapters/2_fundamentals.tex b/src/thesis/chapters/2_fundamentals.tex index 42bb2ad..0feaea6 100644 --- a/src/thesis/chapters/2_fundamentals.tex +++ b/src/thesis/chapters/2_fundamentals.tex @@ -91,13 +91,13 @@ We can arrange the coefficients of these equations in a equivalently define the code as \cite[Sec.~3.1.1]{ryan_channel_2009} \begin{align*} \mathcal{C} := \text{kern}(\bm{H}) = \left\{ \bm{x} \in \mathbb{F}_2^n : - \bm{H}\bm{x}^\text{T} = \bm{0} \right\} + \bm{H}\bm{x}^\mathsf{T} = \bm{0} \right\} .% \end{align*} In general, we have linearly dependent parity checks, prompting us to define the \ac{pcm} as $\bm{H} \in \mathbb{F}_2^{m\times n}$ with $\hspace{2mm} m \ge n-k$ instead. -The \textit{syndrome} $\bm{s} = \bm{H} \bm{v}^\text{T}$ describes +The \textit{syndrome} $\bm{s} = \bm{H} \bm{v}^\mathsf{T}$ describes which parity checks a vector $\bm{v} \in \mathbb{F}_2^n$ violates. The representation using the \ac{pcm} has the benefit of providing a description of the code, the memory complexity of which does not grow @@ -601,7 +601,7 @@ decoding of subsequent blocks \cite[Sec.~III.~C.]{hassan_fully_2016}. \label{sec:Quantum Mechanics and Quantum Information Science} Designing codes and decoders for \ac{qec} is generally performed on a -layer of abstraction far removed from the quantum mechanical +layer of mathematical abstraction far removed from the quantum mechanical processes underlying the actual physics. Nevertheless, having a fundamental understanding of the related quantum mechanical concepts is useful to grasp the unique constraints @@ -621,39 +621,41 @@ function and the observable world: $\lvert \psi (x,t) \rvert^2$ is the \ac{pdf} of finding a particle at position $x$ and time $t$ \cite[Sec.~1.2]{griffiths_introduction_1995}. Note that this presupposes a normalization of $\psi$ such that -$\int_{-\infty}^{\infty} \lvert \psi(x,t) \rvert^2 dx = 1$. +\begin{align*} + \int_{-\infty}^{\infty} \lvert \psi(x,t) \rvert^2 dx = 1 + .% +\end{align*} % Dirac notation -Much of the related mathematics can be very elegantly expressed -using the language of linear algebra. -The so-called Bra-ket or Dirac notation is especially appropriate, -having been proposed by Paul Dirac in 1939 for the express purpose -of simplifying quantum mechanical notation \cite{dirac_new_1939}. -Two new symbols are defined, \emph{bra}s $\bra{\cdot}$ and -\emph{ket}s $\ket{\cdot}$. +The language of linear algebra allows one to express the related +mathematics particularly elegantly. +The so-called Bra-ket or Dirac notation, introducced +by Paul Dirac in 1939 for the express purpose of simplifying quantum +mechanical notation \cite{dirac_new_1939}, is especially appropriate. +Two new symbols are defined, \emph{bra} $\bra{\cdot}$ and +\emph{ket} $\ket{\cdot}$. Kets denote column vectors, while bras denote their Hermitian conjugates. -For example, two vectors specified by the labels $a$ and $b$ -respectively are written as $\ket{a}$ and $\ket{b}$. +For example, two vectors specified by the labels $a$ and $b$, +respectively, are written as $\ket{a}$ and $\ket{b}$. Their inner product is $\braket{a\vert b}$. % Expressing wave functions using linear algebra The connection we will make between quantum mechanics and linear algebra is that we will model the state space of a system as a -\emph{function space}, the Hilbert space $L_2$. -We will represent the state of a particle with wave function -$\psi(x,t)$ using the vector $\ket{\psi}$ -\cite[Sec.~3.3]{griffiths_introduction_1995}. +\emph{function space}, namely the Hilbert space $L_2$. +The state of a particle with wave function $\psi(x,t)$ is represented +by the vector $\ket{\psi}$ \cite[Sec.~3.3]{griffiths_introduction_1995}. % Operators Another important notion is that of an \emph{operator}, a transformation -that takes a function as an input and returns another function as an -output \cite[Sec.~3.2.2]{griffiths_introduction_1995}. +that maps a function onto another function +\cite[Sec.~3.2.2]{griffiths_introduction_1995}. +A prominent example of this is the differential operator $\partial x$. Operators are useful to describe the relations between different quantities relating to a particle. -An example of this is the differential operator $\partial x$. We define the \emph{commutator} of two operators $P_1$ and $P_2$ as \begin{align*} [P_1,P_2] = P_1P_2 - P_2P_1 @@ -672,22 +674,21 @@ We say the two operators \emph{commute} iff $[P_1,P_2] = 0$, and they % Observable quantities -An \emph{observable quantity} $Q(x,p,t)$ is a quantity of a quantum -mechanical system that we can measure, such as the position $x$ or +An \emph{observable} $Q(x,p,t)$ is a quantity of a quantum +mechanical system that we can measure, e.g., the position $x$ or momentum $p$ of a particle. In general, such measurements are not deterministic, i.e., measurements on identically prepared states can yield different results. -There are some states, however, that are \emph{determinate} for a -specific observable: measuring those will always yield identical -observations \cite[Sec.~3.3]{griffiths_introduction_1995}. +However, some states are \emph{determinate} for a +specific observable: Measuring those will always yield identical +outcomes \cite[Sec.~3.3]{griffiths_introduction_1995}. % General expression for expected value of observable quantity -If we know the wave function of a particle, we should be able to -compute the expected value $\braket{Q}$ of any observable quantity we wish. -It can be shown that for any $Q$, we can find a -corresponding Hermitian operator $\hat{Q}$ such that -\cite[Sec.~3.3]{griffiths_introduction_1995} +If the wave function of a particle is known, the expected value +$\braket{Q}$ of any observable quantity can be computed. +Indeed, for any $Q$, there exists a corresponding Hermitian operator +$\hat{Q}$ such that \cite[Sec.~3.3]{griffiths_introduction_1995} \begin{align} \label{eq:gen_expr_Q_exp} \braket{Q} = \int_{-\infty}^{\infty} \psi^*(x,t) \hat{Q} \psi(x,t) dx @@ -703,9 +704,9 @@ operator to $\hat{Q} = x$, we can write = \int_{-\infty}^{\infty} x \lvert \psi(x,t) \rvert ^2 dx .% \end{align*} -Note that $\lvert \psi(x,t) \rvert^2 $ represents the \ac{pdf} of -finding a particle in a specific state. We immediately see that the -formula simplifies to the direct calculation of the expected value. +Note that $\lvert \psi(x,t) \rvert^2 $ is the \ac{pdf} of +finding a particle at position $x$. Hence, we immediately see that +the formula simplifies to the direct calculation of the expected value. % Determinate states and eigenvalues @@ -719,40 +720,40 @@ We begin by translating \Cref{eq:gen_expr_Q_exp} into linear algebra as .% \end{align} \Cref{eq:gen_expr_Q_exp_lin} expresses an inherently probabilistic -relationship. -The determinate states are inherently deterministic. +relationship, whereas the determinate states are inherently deterministic. To relate the two, we note that since determinate states should always yield the same measurement results, the variance of the -observable should be zero. +observable must be zero. We thus compute \cite[Eq.~3.116]{griffiths_introduction_1995} \begin{align} 0 &\overset{!}{=} \braket{(Q - \braket{Q})^2} = \braket{e_n \vert (\hat{Q} - \braket{Q})^2 e_n} \nonumber\\ - &= \braket{(Q - \braket{Q})e_n \vert (\hat{Q} - \braket{Q}) + &= \braket{(\hat{Q} - \braket{Q})e_n \vert (\hat{Q} - \braket{Q}) e_n} \nonumber\\ - &= \lVert (Q - \braket{Q}) e_n \rVert^2 \nonumber\\[3mm] - &\hspace{-8mm}\Leftrightarrow (\hat{Q} - \braket{Q}) \ket{e_n} = - 0 \nonumber\\ + &= \lVert (\hat{Q} - \braket{Q}) e_n \rVert^2 \nonumber\\[3mm] + &\hspace{-14mm}\iff (\hat{Q} - \braket{Q}) \ket{e_n} + = 0 \nonumber\\ \label{eq:observable_eigenrelation} - &\hspace{-8mm}\Leftrightarrow \hat{Q}\ket{e_n} + &\hspace{-14mm}\iff \hat{Q}\ket{e_n} = \underbrace{\braket{Q}}_{\lambda_n} \ket{e_n} .% \end{align}% % -Because we have assumed the variance to be zero, the expected value -$\braket{Q}$ is now the deterministic measurement result +By setting the variance to zero, the expected value +$\braket{Q}$ becomes a deterministic measurement result corresponding to the determinate state $\ket{e_n},~n\in \mathbb{N}$. -We can see that the determinate states are the \emph{eigenstates} of -the observable operator $\hat{Q}$ and that the measurement values are -the corresponding \emph{eigenvalues} $\lambda_n$ +The determinate states are precisely the \emph{eigenstates} of +the observable operator $\hat{Q}$, and the associated measurement +values are the corresponding \emph{eigenvalues} $\lambda_n$ \cite[Sec.~3.3]{griffiths_introduction_1995}. % Determinate states as a basis -As we are modelling the wave function $\psi(x,t)$ as a vector +As we model the wave function $\psi(x,t)$ as a vector $\ket{\psi}$, we can find a set of basis vectors to decompose it into. -We can use the determinate states for this purpose, expressing the state as% +In particular, we can use the determinate states for this purpose, +expressing the state as% \footnote{ We only consider the case of having a \emph{discrete spectrum} here, i.e., having a discrete set of eigenvalues and vectors. @@ -790,7 +791,7 @@ $Q(x,t,p)$ using a corresponding operator $\hat{Q}$, which allows us to compute the expected value as $\braket{Q} = \braket{\psi \vert \hat{Q} \psi}$. The eigenvectors of $\hat{Q}$ are the determinate states -$\ket{e_n},~n\in \mathbb{N}$ and the eigenvalues are the respective +$\ket{e_n},~n\in \mathbb{N}$, and the eigenvalues are the respective measurement outcomes. We can decompose an arbitrary state as $\ket{\psi} = \sum_{n=1}^{\infty} c_n \ket{e_n}$, where $\lvert c_n \rvert ^2$ represents the probability @@ -808,16 +809,16 @@ The measurements we considered in the previous section, for which \Cref{eq:gen_expr_Q_exp_lin} holds, belong to the category of \emph{projective measurements}. For these, certain restrictions such as repeatability apply: the act -of measuring a quantum state should \emph{collapse} it onto one of +of measuring a quantum state \emph{collapses} it onto one of the determinate states. -Further measurements should then yield the same value. -More general methods of modelling measurements exist, e.g., describing +Further measurements then yield the same value. +More general methods of modelling measurements exist, e.g., destructive measurements \cite[Box~2.5]{nielsen_quantum_2010}, but they are not relevant to this work. % Projection operators -We can model the collapse of the original state onto one of the +We model the collapse of the original state onto one of the superimposed basis states as a \emph{projection}. To see this, we use \Cref{eq:determinate_basis,eq:observable_eigenrelation} to compute @@ -836,9 +837,9 @@ the separate components as using \emph{projection operators} \cite[Eq.~3.160]{griffiths_introduction_1995} \begin{align*} \hat{P}_n := \ket{e_n}\bra{e_n}, \hspace{3mm} n\in \mathbb{N} - . + , \end{align*}% -These project a vector onto the subspace spanned by $\ket{e_n}$. +which 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 @@ -864,10 +865,9 @@ These project a vector onto the subspace spanned by $\ket{e_n}$. % Intro -% TODO: Make sure `quantum gate` is proper terminology A central concept for quantum computing is that of the \emph{qubit}. -We employ it analogously to the classical \emph{bit}. -For classical computers, we alter bits' states using \emph{gates}. +It takes the place of the classical \emph{bit}. +For classical computers, we alter the state of a bit using \emph{gates}. We can chain multiple of these gates together to build up more complex logic, such as half-adders or eventually a full processor. In principle, quantum computers work in a similar fashion, only that @@ -898,10 +898,10 @@ A qubit is defined to be a system with quantum state \alpha \\ \beta \end{pmatrix} - = \alpha \ket{0} + \beta \ket{1} + = \alpha \ket{0} + \beta \ket{1}, \hspace{5mm} \alpha,\beta \in \mathbb{C} .% \end{align} -The overall state of a composite quantum system is described using +The overall state of a multi-qubit quantum system is described using the \emph{tensor product}, denoted as $\otimes$ \cite[Sec.~2.2.8]{nielsen_quantum_2010}. Take for example the two qubits @@ -930,9 +930,9 @@ i.e., .% \end{split} \end{align} -We call $\ket{x_0, \ldots, x_n}~, x_i \in \{0,1\}$ the +We call $\ket{x_0, \ldots, x_n},~x_i \in \{0,1\}$ the \emph{computational basis states} \cite[Sec.~4.6]{nielsen_quantum_2010}. -To additionally simplify set notation, we define +To simplify set notation, we define \begin{align*} \mathcal{M}^{\otimes n} := \underbrace{\mathcal{M}\otimes \ldots \otimes \mathcal{M}}_{n \text{ times}} @@ -941,7 +941,7 @@ To additionally simplify set notation, we define % Entanglement -States that are not able to be decomposed into such products +States that are not able to be decomposed into products of single-qubit states are called \emph{entangled} \cite[Sec.~2.2.8]{nielsen_quantum_2010}. An example of such states are the \emph{Bell states} \begin{align*} @@ -979,7 +979,7 @@ we now shift our focus to describing the evolution of their states. We model state changes as operators. Unlike classical systems, where there are only two possible states and thus the only possible state change is a bit-flip, a general qubit -state as shown in \Cref{eq:gen_qubit_state} lives on a continuum of values. +state as shown in \Cref{eq:gen_qubit_state} lies on a continuum of values. We thus technically also have an infinite number of possible state changes. Fortunately, we can express any operator as a linear combination of the \emph{Pauli operators} \cite[Sec.~2.2]{gottesman_stabilizer_1997} @@ -1016,13 +1016,15 @@ Fortunately, we can express any operator as a linear combination of the In fact, if we allow for complex coefficients, the $X$ and $Z$ operators are sufficient to express any other operator as a linear combination \cite[Sec.~2.2]{roffe_quantum_2019}. -$I$ is the identity operator and $X$ and $Z$ are referred to as +Hereby, $I$ is the identity operator and $X$ and $Z$ are referred to as \emph{bit-flips} and \emph{phase-flips} respectively. -We call the set $\mathcal{G}_n = \left\{ \pm I,\pm \mathrm{i}I, \pm - X,\pm \mathrm{i}X, -\pm Y,\pm \mathrm{i}Y, \pm Z, \pm \mathrm{i}Z \right\}^{\otimes n}$ -the \emph{Pauli -group} over $n$ qubits. +We call the set +\begin{align} + \mathcal{G}_n = \left\{ \pm I,\pm \mathrm{i}I, \pm + X,\pm \mathrm{i}X, + \pm Y,\pm \mathrm{i}Y, \pm Z, \pm \mathrm{i}Z \right\}^{\otimes n} +\end{align} +the \emph{Pauli group} over $n$ qubits. In the context of modifying qubit states, we also call operators \emph{gates}. When working with multi-qubit systems, we can also apply Pauli gates @@ -1052,7 +1054,7 @@ Other important operators include the \emph{Hadamard} and \centering \begin{align*} \begin{array}{c} - CNOT\text{ Operator} \\ + \text{CNOT Operator} \\ \hline\\ \ket{00} \mapsto \ket{00} \\ \ket{01} \mapsto \ket{01} \\ @@ -1063,7 +1065,9 @@ Other important operators include the \emph{Hadamard} and \end{minipage}% \end{figure} \vspace{-4mm} -\noindent Many more operators relevant to quantum computing exist, but they are +\noindent The CNOT operator is a 2-qubit gate that applies a bit-flip to the +second qubit conditioned on the state of the first one. +Many more operators relevant to quantum computing exist, but they are not covered here as they are not central to this work. %%%%%%%%%%%%%%%% @@ -1096,9 +1100,8 @@ The control connection is represented by a vertical line connecting the gate to the corresponding qubit, where a filled dot is placed. A controlled gate applies the respective operation only if the control qubit is in state $\ket{1}$. -An example of this is the CNOT gate introduced in -\Cref{subsec:Qubits and Multi-Qubit States}, which is depicted in -\Cref{fig:cnot_circuit}. +\Cref{fig:cnot_circuit} depicts an example of this: The CNOT gate +introduced in \Cref{subsec:Qubits and Multi-Qubit States}. \begin{figure}[t] \centering @@ -1120,7 +1123,7 @@ An example of this is the CNOT gate introduced in % General motivation behind QEC -One of the major barriers on the road to building a functioning +One of the major barriers on the road to building a functioning and scalable quantum computer is the inevitability of errors during quantum computation. These arise due to the difficulty in sufficiently isolating the qubits from external noise \cite[Sec.~1]{roffe_quantum_2019}. @@ -1129,7 +1132,7 @@ with the environment act as small measurements, an effect called \emph{decoherence} of the quantum state \cite[Sec.~1]{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 +a quantum state in a similar fashion to information in classical error correction. % The unique challenges of QEC @@ -1149,9 +1152,10 @@ Three main restrictions apply \cite[Sec.~2.4]{roffe_quantum_2019}: % 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 a higher-dimensional space, -thereby introducing redundancy. +Much like in classical error correction, \ac{qec} protects information by +introducing redundancy. +The information, represented by a state in a low-dimensional space, +is mapped onto an encoded state in a higher-dimensional space. To this end, $k \in \mathbb{N}$ \emph{logical qubits} are mapped onto $n \in \mathbb{N}$ \emph{physical qubits}, $n>k$. We circumvent the no-cloning restriction by not copying the state of any of @@ -1172,8 +1176,9 @@ This is due to the \emph{backlog problem} \cite[Sec.~II.G.3.]{terhal_quantum_2015}: There are certain gates at which the effect of existing errors on single qubits may be exacerbated by transforming them to multi-qubit errors. -We wish to correct the errors before passing qubits through such gates. -If the \ac{qec} system is not fast enough, there will be an increasing +If we ensure decoding with sufficiently low latency, we can correct +the errors before passing qubits through such gates. +However, if the \ac{qec} system is not fast enough, there will be an increasing backlog of information at this point in the circuit, leading to an exponential slowdown in computation. @@ -1203,8 +1208,8 @@ 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 +To determine if an error occurred, we aim at to measuring whether a +state belongs % TODO: Remove footnote? % \footnote{ % It is possible for a state to not completely lie in either subspace. @@ -1213,11 +1218,12 @@ whether a state belongs % } to $\mathcal{C}$ or $\mathcal{F}$. As explained in \Cref{subsec:Observables}, physical measurements -can be mathematically described using operators whose eigenvalues +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: +For the two-qubit repetition code, $Z_1Z_2 \in \mathcal{G}_2$ is such +an operator: \begin{align} Z_1Z_2 E \ket{\psi}_\text{L} &= (+1) E \ket{\psi}_\text{L} \hspace*{3mm} \forall @@ -1228,13 +1234,14 @@ For the two-qubit code, $Z_1Z_2$ is such an operator: .% \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. +single-qubit 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 +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 entangle it with $\ket{\psi}_\text{L}$ in such a way that the eigenvalue is indicated by measuring the ancilla qubit instead. @@ -1299,11 +1306,11 @@ This effect is referred to as error \emph{digitization} % The stabilizer group Operators such as $Z_1Z_2$ above are called \emph{stabilizers}. -More generally, 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 a stabilizer of an $\llbracket n, k, d_\text{min} \rrbracket$ code $\mathcal{C}$, if \begin{itemize} \item It stabilizes all logical states, i.e., - $P_i\ket{\psi}_\text{L} = (+1)\ket{\psi}_\text{L} ~\forall~ + $P_i\ket{\psi}_\text{L} = (+1)\ket{\psi}_\text{L}, ~\forall~ \ket{\psi}_\text{L} \in \mathcal{C}$. \item It commutes with all other stabilizers $P_j$ of the code, i.e., $[P_i, P_j] = 0$. @@ -1319,8 +1326,8 @@ Formally, we define the \emph{stabilizer group} $\mathcal{S}$ as [P_i,P_j] = 0 \forall i,j\right\} .% \end{align*} -We care in particular about the commuting properties of stabilizers -with respect to possible errors. +We care about the commuting properties of stabilizers with respect to +possible errors, in particular. The measurement circuit for an arbitrary stabilizer $P_i$ modifies the state as \cite[Eq.~29]{roffe_quantum_2019} \begin{align*} @@ -1353,6 +1360,7 @@ If a given error $E$ anticommutes with $P_i$, we have \end{align*} and measuring the ancilla $\text{A}_i$ corresponding to stabilizer $P_i$ returns 1. +Similarly, if it commutes, the ancilla measurement returns 0. %%%%%%%%%%%%%%%% \subsection{Stabilizer Codes} @@ -1360,9 +1368,10 @@ $P_i$ returns 1. % Structure of a stabilizer code -For classical binary linear block codes, we use $n-k$ parity-checks +Stabilizer codes are the quantum analogue of classical binary linear +block codes, for which 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 +Effectively, each parity check defines a local code splitting the vector space in half, with only one part containing valid codewords. The global code is the intersection of all local codes. We can do the same in the quantum case. @@ -1380,19 +1389,23 @@ operators $P_i$, each using a circuit as explained in \Cref{subsec:Stabilizer Measurements}. 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 +a circuit that requires only CNOT and $H$-gates \cite[Sec.~10.5.8]{nielsen_quantum_2010}. % Logical operators In order to modify the logical state encoded using the physical qubits, we can use \emph{logical operators} \cite[Sec.~4.2]{roffe_quantum_2019}. -For each qubit, there are two logical operators, $X_i$ and $Z_j$. -These are operators that +For a $\llbracket n,k \rrbracket$ stabilizer code, there exist +logical operators generated by $2k$ representatives $X_i, +Z_j,~i,j\in[1:k]$ such that \begin{itemize} - \item Commute with all the stabilizers in $\mathcal{S}$. - \item Anti-commute with one another, i.e., $[ \overline{X}_i, - \overline{Z}_i ]_{+} = \overline{X}_i \overline{Z}_i + + \item They commute with all stabilizers in $\mathcal{S}$. + \item For $i=j$, they anti-commute with one another, i.e., $[ + \overline{X}_i, \overline{Z}_i ]_{+} = \overline{X}_i + \overline{Z}_i + \overline{Z}_i \overline{X}_i = 0$. + \item For $i\neq j$, they commute with one another, i.e., $[ \overline{X}_i, + \overline{Z}_i ] = \overline{X}_i \overline{Z}_i - \overline{Z}_i \overline{X}_i = 0$. \end{itemize} We can also measure these operators to find out the logical state a @@ -1402,22 +1415,22 @@ physical state corresponds to \cite[Sec.~2.6]{derks_designing_2025}. % TODO: Do I have to introduce before that stabilizers only need X % and Z operators? -We can represent stabilizer codes using a \emph{check matrix} -\cite[Sec.~10.5.1]{nielsen_quantum_2010} +We can represent stabilizer codes using a binary \emph{check matrix} +$\bm{H} \in \mathbb{F}_2^{(n-k)\times(2n)}$ +\cite[Sec.~10.5.1]{nielsen_quantum_2010} with \begin{align*} \bm{H} = \left[ \begin{array}{c|c} \bm{H}_X & \bm{H}_Z \end{array} \right] - ,% + .% \end{align*} -with $\bm{H} \in \mathbb{F}_2^{(n-k)\times(2n)}$. 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, +In contrast to the classical case, this matrix 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}. @@ -1436,8 +1449,8 @@ We can describe it using the check matrix \right] .% \end{align} -The first $n$ columns correspond to $X$ operators acting on the -corresponding physical qubit, the rest to the $Z$ operators. +The first $n$ columns correspond to $X$ stabilizers acting on the +corresponding physical qubit, the rest to the $Z$ stabilizers. \begin{figure}[t] \centering @@ -1466,27 +1479,27 @@ corresponding physical qubit, the rest to the $Z$ operators. % Intro -Stabilizer codes are especially practical to work with when they can -handle $X$ and $Z$ type errors independently. +Stabilizer codes are especially practical to work with when the +stabilizers can be split into one subset consisting only of +$Z$ stabilizers and one consisting only of $X$ stabilizers. As $Z$ errors anti-commute with $X$ operators in the stabilizers and -vice versa, this property translates into being able to split the -stabilizers into a subset being made up of only $X$ -operators and the rest only of $Z$ operators. +vice versa, this property translates into being able to correct $X$ +or $Z$ errors independently. We call such codes \ac{css} codes. We can see this property in \Cref{eq:steane} in the check matrix of the Steane code. % Construction -We can exploit this separate consideration of $X$ and $Z$ errors in +We can exploit this separate consideration of $X$ and $Z$ stabilizers in the construction of \ac{css} codes. We combine two binary linear codes $\mathcal{C}_1$ and -$\mathcal{C}_2$, each responsible for correcting one type of error +$\mathcal{C}_2$, each responsible for correcting either $Z$ or $X$ errors \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\} + \bm{x}' \bm{x}^\mathsf{T} = 0 ~\forall \bm{x} \in \mathcal{C}_2 \right\} ,% \end{align*} we define $\bm{H}_X$ as the \ac{pcm} of $\mathcal{C}_2^\perp$ and $\bm{H}_Z$ @@ -1504,7 +1517,7 @@ In order to yield a valid stabilizer code, $\mathcal{C}_1$ and $\mathcal{C}_2$ must satisfy the commutativity condition \begin{align} \label{eq:css_condition} - \bm{H}_X \bm{H}_Z^\text{T} = \bm{0} + \bm{H}_X \bm{H}_Z^\mathsf{T} = \bm{0} .% \end{align} We can ensure this by choosing $\mathcal{C}_1$ and $\mathcal{C}_2$ @@ -1519,15 +1532,15 @@ such that $\mathcal{C}_2 \subset \mathcal{C}_1$. Various methods of constructing \ac{qec} codes exist \cite{swierkowska_eccentric_2025}. Topological codes, for example, encode information in the features of -a lattice and are intrinsically robust against local errors. +a lattice in a way that allows for local interactions between qubits. Among these, the \emph{surface code} is the most widely studied. Another example are concatenated codes, which nest one code within another, allowing for especially simple and flexible constructions \cite[Sec.~3.2]{swierkowska_eccentric_2025}. An area of research that has recently seen more attention is that of quantum \ac{ldpc} (\acs{qldpc}) codes. -They have much better encoding efficiency than, e.g., the surface -code, scaling up of which would be prohibitively expensive +They have much higher rate than, e.g., surface codes, scaling up of +which would be prohibitively expensive \cite[Sec.~I]{bravyi_high-threshold_2024}. % Bivariate Bicycle codes @@ -1539,7 +1552,7 @@ $\bm{H}_Z$ are constructed from two matrices $\bm{A}$ and $\bm{B}$ as \begin{align*} \bm{H}_X = [\bm{A} \vert \bm{B}] \hspace*{5mm} \text{and} \hspace*{5mm} - \bm{H}_Z = [\bm{B}^\text{T} \vert \bm{A}^\text{T}] + \bm{H}_Z = [\bm{B}^\mathsf{T} \vert \bm{A}^\mathsf{T}] .% \end{align*} This way, we can guarantee the satisfaction of the commutativity @@ -1579,16 +1592,17 @@ This necessitates a modification of the standard \ac{bp} algorithm introduced in \Cref{subsec:Iterative Decoding} \cite[Sec.~3.1]{yao_belief_2024}. Instead of attempting to find the most likely codeword directly, the -algorithm will now try to find an error pattern $\hat{\bm{e}} \in -\mathbb{F}_2^n$ that satisfies +syndrome-based decoding algorithm tries to find an error pattern +$\hat{\bm{e}} \in \mathbb{F}_2^n$ that satisfies \begin{align*} - \bm{H} \hat{\bm{e}}^\text{T} = \bm{s} + \bm{H} \hat{\bm{e}}^\mathsf{T} = \bm{s} .% \end{align*} To this end, we initialize the channel \acp{llr} as \begin{align*} - \tilde{L}_i = \log{\frac{P(X_i = 0)}{P(X_i = 1)}} = \log{\frac{1 - - p_i}{p_i}} + \tilde{L}_i = \log{\frac{P(X_i = 0)}{P(X_i = 1)}} = \log{ + \left( \frac{1 - p_i}{p_i} \right) + } ,% \end{align*} where $p_i$ is the prior probability of error of \ac{vn} $i$. @@ -1645,7 +1659,7 @@ The resulting syndrome-based \ac{bp} algorithm is shown in \right\}$ \EndFor - \If{$\bm{H}\hat{\bm{e}}^\text{T} = \bm{s}$} + \If{$\bm{H}\hat{\bm{e}}^\mathsf{T} = \bm{s}$} \State \textbf{break} \EndIf @@ -1724,7 +1738,7 @@ This way, we obtain the \ac{ler}. \mathbbm{1}\left\{ L^\text{total}_i \right\}$ \EndFor - \If{$\bm{H}\hat{\bm{e}}^\text{T} = \bm{s}$} + \If{$\bm{H}\hat{\bm{e}}^\mathsf{T} = \bm{s}$} \State \textbf{break} \Else \State $i_\text{max} \leftarrow \argmax_{i \in \mathcal{I}'} \lvert L^\text{total}_i \rvert $ diff --git a/src/thesis/chapters/3_fault_tolerant_qec.tex b/src/thesis/chapters/3_fault_tolerant_qec.tex index 65ae34f..1ee1047 100644 --- a/src/thesis/chapters/3_fault_tolerant_qec.tex +++ b/src/thesis/chapters/3_fault_tolerant_qec.tex @@ -844,10 +844,10 @@ violate the same set of detectors, i.e., \begin{align*} \hspace{-15mm} % tex-fmt: off - && \bm{H} \bm{e}_1^\text{T} & \neq \bm{H} \bm{e}_2^\text{T} \\ - \iff \hspace{-33mm} && \bm{H} \left( \bm{e}_1 - \bm{e}_2 \right)^\text{T} & \neq 0 \\ - \iff \hspace{-33mm} && \bm{D} \bm{\Omega} \left( \bm{e}_1 - \bm{e}_2 \right)^\text{T} & \neq 0 \\ - \iff \hspace{-33mm} && \bm{\Omega} \left( \bm{e}_1 - \bm{e}_2 \right)^\text{T} & \notin \text{kern} \{\bm{D}\} + && \bm{H} \bm{e}_1^\mathsf{T} & \neq \bm{H} \bm{e}_2^\mathsf{T} \\ + \iff \hspace{-33mm} && \bm{H} \left( \bm{e}_1 - \bm{e}_2 \right)^\mathsf{T} & \neq 0 \\ + \iff \hspace{-33mm} && \bm{D} \bm{\Omega} \left( \bm{e}_1 - \bm{e}_2 \right)^\mathsf{T} & \neq 0 \\ + \iff \hspace{-33mm} && \bm{\Omega} \left( \bm{e}_1 - \bm{e}_2 \right)^\mathsf{T} & \notin \text{kern} \{\bm{D}\} % tex-fmt: on .% \end{align*} diff --git a/src/thesis/chapters/4_decoding_under_dems.tex b/src/thesis/chapters/4_decoding_under_dems.tex index 0a9bc07..bd070a8 100644 --- a/src/thesis/chapters/4_decoding_under_dems.tex +++ b/src/thesis/chapters/4_decoding_under_dems.tex @@ -701,7 +701,7 @@ estimates committed after decoding window $\ell$, we have to set \begin{align*} \left(\bm{s}\right)_{\mathcal{J}_\text{overlap}^{(\ell)}} = \bm{H}_\text{overlap}^{(\ell)} - \left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\text{T} + \left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\mathsf{T} .% \end{align*} @@ -986,7 +986,7 @@ Note that the decoding procedure performed on the individual windows \State $\displaystyle\left(\hat{\bm{e}}^\text{total}\right)_{\mathcal{I}^{(\ell)}_\text{commit}} \leftarrow \hat{\bm{e}}^{(\ell)}_\text{commit}$ \State $\displaystyle\left(\bm{s}\right)_{\mathcal{J}_\text{overlap}^{(\ell)}} \leftarrow \bm{H}_\text{overlap}^{(\ell)} - \left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\text{T}$ + \left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\mathsf{T}$ \If{$\ell < n_\text{win} - 1$} \State $L^{(\ell+1)}_{i\leftarrow j} \leftarrow L^{(\ell)}_{i\leftarrow j} @@ -1184,7 +1184,7 @@ decimation information after initializing the \ac{cn} to \ac{vn} messages. % \State $\displaystyle\left(\hat{\bm{e}}^\text{total}\right)_{\mathcal{I}^{(\ell)}_\text{commit}} \leftarrow \hat{\bm{e}}^{(\ell)}_\text{commit}$ % \State $\displaystyle\left(\bm{s}\right)_{\mathcal{J}_\text{overlap}^{(\ell)}} % \leftarrow \bm{H}_\text{overlap}^{(\ell)} -% \left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\text{T}$ +% \left( \hat{\bm{e}}_\text{commit}^{(\ell)} \right)^\mathsf{T}$ % \If{$\ell < n_\text{win} - 1$} % \State $L^{(\ell+1)}_{i\leftarrow j} \leftarrow % L^{(\ell)}_{i\leftarrow j}