Add clean_bibliography.sh; Incorporate LLM corrections
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
2
src/thesis/clean_bibliography.sh
Executable file
2
src/thesis/clean_bibliography.sh
Executable 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
|
||||
Reference in New Issue
Block a user