Add clean_bibliography.sh; Incorporate LLM corrections

This commit is contained in:
2026-04-25 14:14:58 +02:00
parent 85771405db
commit 569df381ee
3 changed files with 98 additions and 616 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
\chapter{Fundamentals}
\chapter{Fundamentals of Classical and Quantum Error Correction}
\label{ch:Fundamentals}
\Ac{qec} is a field of research combining ``classical''
@@ -606,21 +606,23 @@ The purpose of this section is to convey these concepts to the reader.
In quantum mechanics, the state of a particle is described by a
\emph{wave function} $\psi(x,t)$.
The connection between this function and the observable world
is Born's statistical interpretation:
$\lvert \psi (x,t) \rvert^2$ is the \ac{pdf} of finding a praticle at
Born's statistical interpretation provides a connection between this
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$.
% Dirac notation
A lot of the related mathematics can be very elegantly expressed
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,
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}$.
Kets denote ordinary vectors, while bras denote their Hermitian conjugates.
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}$.
Their inner product is $\braket{a\vert b}$.
@@ -629,7 +631,7 @@ Their inner product is $\braket{a\vert b}$.
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}.
\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}.
@@ -642,8 +644,17 @@ output \cite[Sec.~3.2.2]{griffiths_introduction_1995}.
Operators are useful to describe the relations between different
quantities relating to a particle.
An example of this is the differential operator $\partial x$.
Two operators $P_1$ and $P_2$ are said to \emph{commute}, if $P_1P_2
= P_2P_1$ and \emph{anti-commute} if $P_1P_2 = -P_2P_1$.
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
\end{align*}
and the \emph{anticommutator} as
\begin{align*}
[P_1,P_2]_+ = P_1P_2 + P_2P_1
.%
\end{align*}
We say the two operators \emph{commute} iff $[P_1,P_2] = 0$, and they
\emph{anti-commute} iff $[P_1,P_2]_+ = 0$.
%%%%%%%%%%%%%%%%
\subsection{Observables}
@@ -664,8 +675,8 @@ observations \cite[Sec.~3.3]{griffiths_introduction_1995}.
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 compute a
corresponding operator $\hat{Q}$ such that
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}
\begin{align}
\label{eq:gen_expr_Q_exp}
@@ -690,7 +701,7 @@ formula simplifies to the direct calculation of the expected value.
Let us now examine how the observable operator $\hat{Q}$ relates to
the determinate states of the observable quantity.
We begin by translating \autoref{eq:gen_expr_Q_exp} into linear alebra as
We begin by translating \autoref{eq:gen_expr_Q_exp} into linear algebra as
\cite[Eq.~3.114]{griffiths_introduction_1995}
\begin{align}
\label{eq:gen_expr_Q_exp_lin}
@@ -698,7 +709,7 @@ We begin by translating \autoref{eq:gen_expr_Q_exp} into linear alebra as
.%
\end{align}
\autoref{eq:gen_expr_Q_exp_lin} expresses an inherently probabilistic
relationhip.
relationship.
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
@@ -743,6 +754,9 @@ We can use the determinate states for this purpose, expressing the state as%
c_n := \braket{e_n \vert \psi}
.%
\end{align}
Because of the normalization of the wave function such that
$\int_{-\infty}^{\infty} \lvert \psi(x,t) \rvert^2 dx = 1$, we have
$\sum_{n=1}^{\infty} \lvert c_n \rvert ^2 = 1$.
Inserting \autoref{eq:determinate_basis} into
\autoref{eq:gen_expr_Q_exp_lin} we obtain
% tex-fmt: off
@@ -772,7 +786,7 @@ 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
of obtaining a certain measurement value.
Note that when we speak of an \emph{observable}, we are usually
refering to the operator $\hat{Q}$.
referring to the operator $\hat{Q}$.
%%%%%%%%%%%%%%%%
\subsection{Projective Measurements}
@@ -838,7 +852,7 @@ These project a vector onto the subspace spanned by $\ket{e_n}$.
\subsection{Qubits and Multi-Qubit States}
\label{subsec:Qubits and Multi-Qubit States}
% The qubit
% Intro
% TODO: Make sure `quantum gate` is proper terminology
A central concept for quantum computing is that of the \emph{qubit}.
@@ -847,20 +861,35 @@ For classical computers, we alter bits' states 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
instead of bits we use qubits and instead of, e.g. {AND}, OR, and XOR
instead of bits we use qubits and instead of, e.g., AND, OR, and XOR
operations we use \emph{quantum gates} \cite[Sec.~1.3]{nielsen_quantum_2010}.
We define a qubit to be a component with determinate
states $\ket{0}$ and $\ket{1}$.
The general description of the state $\ket{\psi}$ of a qubit is thus
\begin{align}
\label{eq:gen_qubit_state}
\ket{\psi} = \alpha\ket{0} + \beta\ket{1}, \hspace{5mm} \alpha,
\beta \in \mathbb{C}
% Qubits and multi-qubit states
We fix an orthonormal basis of $\mathbb{C}^2$ to be
\begin{align*}
\ket{0} =
\begin{pmatrix}
1 \\
0
\end{pmatrix}, \hspace{5mm}
\ket{1} =
\begin{pmatrix}
0 \\
1
\end{pmatrix}
.%
\end{align}
% The tensor product and multi-qubit states
\end{align*}
A qubit is defined to be a system with quantum state
\begin{align*}
\ket{\psi} =
\begin{pmatrix}
\alpha \\
\beta
\end{pmatrix}
= \alpha \ket{0} + \beta \ket{1}
.%
\end{align*}
The overall state of a composite quantum system is described using
the \emph{tensor product}, denoted as $\otimes$
\cite[Sec.~2.2.8]{nielsen_quantum_2010}.
@@ -907,9 +936,9 @@ An example of such states are the \emph{Bell states}
\begin{align*}
\begin{split}
\ket{\psi_{00}} &= \frac{\ket{00} + \ket{11}}{\sqrt{2}} \hspace{15mm}
\ket{\psi_{01}} = \frac{\ket{01} - \ket{10}}{\sqrt{2}} \\
\ket{\psi_{10}} &= \frac{\ket{00} + \ket{11}}{\sqrt{2}} \hspace{15mm}
\ket{\psi_{11}} = \frac{\ket{01} - \ket{10}}{\sqrt{2}}
\ket{\psi_{01}} = \frac{\ket{01} + \ket{10}}{\sqrt{2}} \\
\ket{\psi_{10}} &= \frac{\ket{01} - \ket{10}}{\sqrt{2}} \hspace{15mm}
\ket{\psi_{11}} = \frac{\ket{00} - \ket{11}}{\sqrt{2}}
\end{split}
\hspace{4mm}.%
\end{align*}
@@ -941,7 +970,7 @@ 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 \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
Fortunately, we can express any operator as a linear combination of the
\emph{Pauli operators} \cite[Sec.~2.2]{gottesman_stabilizer_1997}
\cite[Sec.~2.2]{roffe_quantum_2019}
\begin{align*}
@@ -962,14 +991,14 @@ Luckily, we can express any operator as a linear combination of the
\begin{array}{c}
Z\text{ Operator} \\
\hline\\
\ket{0} \mapsto -\ket{0} \\
\ket{0} \mapsto \phantom{-}\ket{0} \\
\ket{1} \mapsto -\ket{1}
\end{array}%
\hspace{10mm}%
\begin{array}{c}
Y\text{ Operator} \\
\hline\\
\ket{0} \mapsto -j\ket{1} \\
\ket{0} \mapsto \phantom{-}j\ket{1} \\
\hspace{2.75mm}\ket{1} \mapsto -j\ket{0} \hspace*{1mm}.
\end{array}
\end{align*}
@@ -984,7 +1013,7 @@ 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
to individual qubits independently, which we write ask e.g., $I_1 X_2
to individual qubits independently, which we write, e.g., as $I_1 X_2
I_3 Z_4 Y_5$.
We often omit the identity operators, instead writing, e.g., $X_2 Z_4 Y_5$.
Other important operators include the \emph{Hadamard} and
@@ -1082,8 +1111,8 @@ 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[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
with the environment act as small measurements, an effect called
\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
@@ -1096,7 +1125,7 @@ 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
\item Qubits 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
@@ -1128,7 +1157,7 @@ low overall computational complexity.
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 mutli-qubit errors.
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
backlog of information at this point in the circuit, leading to an
@@ -1194,7 +1223,7 @@ 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 that instead.
by measuring the ancilla qubit 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
@@ -1248,7 +1277,8 @@ 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} to be able to correct only $X$ and $Z$ errors.
that it is sufficient for \ac{qec} to be able to correct only these
types of errors.
This effect is referred to as error \emph{digitization}
\cite[Sec.~2.2]{roffe_quantum_2019}.
@@ -1261,10 +1291,11 @@ $[[n, k, d_\text{min}]]$ code $\mathcal{C}$, if
\item It stabilizes all logical states, i.e.,
$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 of the code. This
property is important to be able to measure the eigenvalue of
a stabilizer without disturbing the eigenvectors of the
others \cite[Sec.~1.2]{gottesman_stabilizer_1997}.
\item It commutes with all other stabilizers $P_j$ of the code,
i.e., $[P_i, P_j] = 0$.
This property is important to be able to measure the
eigenvalue of a stabilizer without disturbing the
eigenvectors of the others \cite[Sec.~1.2]{gottesman_stabilizer_1997}.
\end{itemize}
Formally, we define the \emph{stabilizer group} $\mathcal{S}$ as
\cite[Sec.~4.1]{roffe_quantum_2019}
@@ -1272,10 +1303,8 @@ Formally, we define the \emph{stabilizer group} $\mathcal{S}$ as
\mathcal{S} = \left\{P_i \in \mathcal{G}_n ~:~ P_i \ket{\psi}_\text{L} =
(+1)\ket{\psi}_\text{L} \forall \ket{\psi}_\text{L} ~\cap~
[P_i,P_j] = 0 \forall i,j\right\}
,%
.%
\end{align*}
where $[P_i,P_j] := P_iP_j - P_j P_i$ is called the \emph{commutator}
of $P_i$ and $P_j$.
We care in particular about the commuting properties of stabilizers
with respect to possible errors.
The measurement circuit for an arbitrary stabilizer $P_i$ modifies
@@ -1344,9 +1373,17 @@ 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?
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}.
We can represent stabilizer codes using a \emph{check matrix}
\cite[Sec.~10.5.1]{nielsen_quantum_2010}
\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
@@ -1358,7 +1395,7 @@ Take for example the Steane code \cite[Eq.~10.83]{nielsen_quantum_2010}.
We can describe it using the check matrix
\begin{align}
\label{eq:steane}
\left[
\bm{H}_\text{Steane} = \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 \\
@@ -1498,7 +1535,7 @@ We can then construct $\bm{A}$ and $\bm{B}$ as bivariate polynomials
\end{align*}
where $\bm{A}_i$ and $\bm{B}_i$ are powers of $\bm{x}$ or $\bm{y}$.
\ac{bb} codes have large minimum distance $d_\text{min}$ and high rate,
offering a more than 10-time reduction of encoding overhead over the
offering a more than 10-fold reduction of encoding overhead over the
surface code.
Additionally, they posess short-depth syndrome measurement circuits,
leading to lower time requirements for the syndrome extraction
@@ -1508,7 +1545,7 @@ and thus lower error rates \cite[Sec.~1]{bravyi_high-threshold_2024}.
As we saw in \autoref{subsec:Stabilizer Measurements}, we work only
with the parity information contained in the syndrome, to avoid
disturbing the quantum states of indivudual qubits.
disturbing the quantum states of individual qubits.
This necessitates a modification of the standard \ac{bp} algorithm
introduced in \autoref{subsec:Iterative Decoding}
\cite[Sec.~3.1]{yao_belief_2024}.
@@ -1521,7 +1558,8 @@ algorithm will now try to find an error pattern $\hat{\bm{e}} \in
\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)}} = \frac{1 - p_i}{p_i}
\tilde{L}_i = \log{\frac{P(X_i = 0)}{P(X_i = 1)}} = \log{\frac{1
- p_i}{p_i}}
,%
\end{align*}
where $p_i$ is the prior probability of error of \ac{vn} $i$.
@@ -1590,7 +1628,7 @@ algorithm \ref{alg:syndome_bp}.
% Degeneracy and short cycles
Decoding \ac{qldpc} codes brings with it some unique challenges.
Decoding \ac{qldpc} codes poses some unique challenges.
One issue is that of \emph{quantum degeneracy}.
Because errors that differ by a stabilizer have the same impact on
all codewords, there can be multiple minimum-weight solutions to the
@@ -1609,7 +1647,7 @@ during decoding, impeding performance.
The aforementioned issues both manifest themselves as convergence problems
of the \ac{bp} algorithm, and different ways of modifying the algorithm
to aide with convergence exist.
to aid with convergence exist.
One approach is to use \ac{bp} with guided decimation (\acs{bpgd})
\cite[Alg.~1]{yao_belief_2024}.
Here, a number $T\in \mathbb{N}$ of \ac{bp} iterations are performed,
@@ -1620,7 +1658,7 @@ progresses, encouraging the algorithm to converge to one of the
solutions \cite[Sec.~5]{yao_belief_2024}.
Algorithm \ref{alg:bpgd} shows this process.
Note that as the Tanner graph only has $n$ \acp{vn}, this is a
natural constraint on the maximum number of iterations.
natural constraint on the maximum number of outer iterations of the algorithm.
% TODO: Explain that setting the channel LLR to infinity is the same
% as a hard decision and ignoring the VN in the further decoding

View File

@@ -0,0 +1,2 @@
sed -i "s/Świerkowska/{\\\\'S}wierkowska/" bibliography.bib
sed -Ezi "s/\s(abstract|note|urldate|url|keywords|file) = \{[^}]*(\{[^}]*\}[^}]*)*\},?\n//g" bibliography.bib