Add outline and first page of content for thesis
This commit is contained in:
1436
src/thesis/MA.bib
Normal file
1436
src/thesis/MA.bib
Normal file
File diff suppressed because it is too large
Load Diff
19
src/thesis/acronyms.tex
Normal file
19
src/thesis/acronyms.tex
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
\DeclareAcronym{qec}{
|
||||||
|
short=QEC,
|
||||||
|
long=quantum error correction
|
||||||
|
}
|
||||||
|
|
||||||
|
\DeclareAcronym{bp}{
|
||||||
|
short=BP,
|
||||||
|
long=belief propagation
|
||||||
|
}
|
||||||
|
|
||||||
|
\DeclareAcronym{sc}{
|
||||||
|
short=SC,
|
||||||
|
long=spatially coupled
|
||||||
|
}
|
||||||
|
|
||||||
|
\DeclareAcronym{ldpc}{
|
||||||
|
short=LDPC,
|
||||||
|
long=low-density parity-check
|
||||||
|
}
|
||||||
1
src/thesis/chapters/1_introduction.tex
Normal file
1
src/thesis/chapters/1_introduction.tex
Normal file
@@ -0,0 +1 @@
|
|||||||
|
\chapter{Introduction}
|
||||||
321
src/thesis/chapters/2_fundamentals.tex
Normal file
321
src/thesis/chapters/2_fundamentals.tex
Normal file
@@ -0,0 +1,321 @@
|
|||||||
|
\chapter{Fundamentals}
|
||||||
|
\label{ch:Fundamentals}
|
||||||
|
|
||||||
|
\Ac{qec} is a field of research combining ``classical''
|
||||||
|
communications engineering and quantum information science.
|
||||||
|
This chapter provides the relevant theoretical background on both of
|
||||||
|
these topics and subsequently introduces the the fundamentals of \ac{qec}.
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\section{Classical Error Correction}
|
||||||
|
\label{sec:Classical Error Correction}
|
||||||
|
|
||||||
|
% TODO: Maybe rephrase: The core concept is not the realization, its's the
|
||||||
|
% thing itself
|
||||||
|
The core concept underpinning error correcting codes is the
|
||||||
|
realization that a finite amount of redundancy, introduced
|
||||||
|
deliberately and systematically to information before its
|
||||||
|
tranmission, can be utilized to reduce the error rate of a
|
||||||
|
communications system considerably.
|
||||||
|
This idea has been expanded upon significantly since it was first
|
||||||
|
brought forward by Claude Shannon in 1948 \cite{shannon_mathematical_1948}.
|
||||||
|
|
||||||
|
In this section, we explore the concepts of ``classical'' (as in non-quantum)
|
||||||
|
error correction that are central to this work.
|
||||||
|
We start by looking at different ways of encoding information,
|
||||||
|
first considering binary linear block codes in general and then \ac{ldpc} and
|
||||||
|
\ac{sc}-\ac{ldpc} codes.
|
||||||
|
Finally, we pivot to the decoding process, specifically the \ac{bp}
|
||||||
|
algorithm.
|
||||||
|
|
||||||
|
% TODO: Is an explanation of BP with guided decimation needed here?
|
||||||
|
% TODO: Is an explanation of OSD needed here?
|
||||||
|
|
||||||
|
\subsection{Binary Linear Block Codes}
|
||||||
|
|
||||||
|
\red{
|
||||||
|
\begin{itemize}
|
||||||
|
\item Note that binary linear codes are not the only coding
|
||||||
|
scheme out there
|
||||||
|
\end{itemize}
|
||||||
|
}
|
||||||
|
|
||||||
|
Binary linear block codes split the information to be protected into
|
||||||
|
separate blocks.
|
||||||
|
Each block is encoded, transmitted, and decoded separately.
|
||||||
|
The encoding step introduces redundancy by mapping \textit{data words} of
|
||||||
|
length $k \in \mathbb{N}$ onto \textit{codewords} of length $n \in \mathbb{N}$
|
||||||
|
with $n > k$.
|
||||||
|
The number of words stays the same, but they are mapped into an
|
||||||
|
expanded Hilbert space where they are ``further appart'', giving rise
|
||||||
|
to the error correcting properties of the coding scheme.
|
||||||
|
|
||||||
|
Figure \ref{fig:Diagram of a transmission system} visualizes the
|
||||||
|
entire communication process.
|
||||||
|
A data word $\bm{u}\in \mathbb{F}_2^k$ is mapped onto a codeword $\bm{x}
|
||||||
|
\in \mathbb{F}_2^n$. This is passed on to a transmitter, which
|
||||||
|
interacts with the physical channel.
|
||||||
|
A receiver acquires the message $\bm{y} \in \mathbb{R}^n$ and
|
||||||
|
forwards it to a decoder.
|
||||||
|
Finally, the decoder is responsible for obtaining an estimate
|
||||||
|
$\hat{\bm{u}} \in \mathbb{F}_2^k$ of the original codeword from the
|
||||||
|
received message.
|
||||||
|
|
||||||
|
\vspace{10mm}
|
||||||
|
|
||||||
|
For linear codes, this encoding process can be described as%
|
||||||
|
%
|
||||||
|
\begin{align*}
|
||||||
|
\bm{x} = \bm{u}\bm{G},
|
||||||
|
\end{align*}%
|
||||||
|
%
|
||||||
|
using a generator matrix $\bm{G} \in \mathbb{F}_2^{k\times n}$.
|
||||||
|
|
||||||
|
% We call the set of all codewords the codespace $\mathcal{C}$.
|
||||||
|
|
||||||
|
% $\mathcal{C} = \left\{ \bm{x} \in \mathbb{F}_2^n :
|
||||||
|
% \bm{H}\bm{x}^\text{T} = \bm{0} \right\}$.
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
|
||||||
|
\begin{tikzpicture}
|
||||||
|
\node[] (in) {$\bm{u}$};
|
||||||
|
\node[rectangle, draw=black, right=of in] (enc) {Encoder};
|
||||||
|
\node[rectangle, draw=black, right=of enc] (tra) {Transmitter};
|
||||||
|
\node[rectangle, draw=black, right=of tra] (cha) {Channel};
|
||||||
|
\node[rectangle, draw=black, right=of cha] (rec) {Receiver};
|
||||||
|
\node[rectangle, draw=black, right=of rec] (dec) {Decoder};
|
||||||
|
\node[right=of dec] (out) {$\hat{\bm{u}}$};
|
||||||
|
|
||||||
|
\draw[-{latex}] (in) -- (enc);
|
||||||
|
\draw[-{latex}] (enc) -- (tra);
|
||||||
|
\draw[-{latex}] (tra) -- (cha);
|
||||||
|
\draw[-{latex}] (cha) -- (rec);
|
||||||
|
\draw[-{latex}] (rec) -- (dec);
|
||||||
|
\draw[-{latex}] (dec) -- (out);
|
||||||
|
\end{tikzpicture}
|
||||||
|
|
||||||
|
\caption{Diagram of a transmission system}
|
||||||
|
\label{fig:Diagram of a transmission system}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
\red{
|
||||||
|
\textbf{Topics to cover}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Parity checks and describing a code by $H$ rather than
|
||||||
|
$\mathcal{C}$
|
||||||
|
\item G, H, notation
|
||||||
|
\item Minimum distance, [] - notation
|
||||||
|
\item The syndrome
|
||||||
|
\item The decoding problem
|
||||||
|
\item Soft vs. Hard information
|
||||||
|
\end{itemize}
|
||||||
|
}
|
||||||
|
|
||||||
|
\red{
|
||||||
|
\textbf{General Notes:}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Make sure all coding concepts used later on have been
|
||||||
|
introduced (e.g., code rate?)
|
||||||
|
\end{itemize}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Low-Density Parity-Check Codes}
|
||||||
|
|
||||||
|
\red{
|
||||||
|
\begin{itemize}
|
||||||
|
\item Core concept (Large $n$ with manageable complexity)
|
||||||
|
\item Tanner graphs, VNs and CNs
|
||||||
|
\end{itemize}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Spatially-Coupled LDPC Codes}
|
||||||
|
|
||||||
|
\red{
|
||||||
|
\begin{itemize}
|
||||||
|
\item Core idea
|
||||||
|
\item Mathematical description (H)
|
||||||
|
\end{itemize}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Belief Propagation}
|
||||||
|
|
||||||
|
\red{
|
||||||
|
\begin{itemize}
|
||||||
|
\item Core idea
|
||||||
|
\item BP for SC-LDPC codes
|
||||||
|
\end{itemize}
|
||||||
|
}
|
||||||
|
|
||||||
|
\section{Quantum Mechanics and Quantum Information Science}
|
||||||
|
\label{sec:Quantum Mechanics and Quantum Information Science}
|
||||||
|
|
||||||
|
% TODO: Should the brief intro to QC be made later on or here?
|
||||||
|
%%%%%%%%%%%%%%%%
|
||||||
|
\subsection{Core Concepts and Notation}
|
||||||
|
\label{subsec:Notation}
|
||||||
|
|
||||||
|
\ldots can be very elegantly expressed using the language of
|
||||||
|
linear algebra.
|
||||||
|
\todo{Mention that we model the state of a quantum mechanical system
|
||||||
|
as a vector}
|
||||||
|
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.
|
||||||
|
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}$.
|
||||||
|
|
||||||
|
\red{\textbf{Tensor product}}
|
||||||
|
\red{\ldots
|
||||||
|
\todo{Introduce determinate state or use a different word?}
|
||||||
|
Take for example two systems with the determinate states $\ket{0}$
|
||||||
|
and $\ket{1}$. In general, the state of each can be written as the
|
||||||
|
superposition%
|
||||||
|
%
|
||||||
|
\begin{align*}
|
||||||
|
\alpha \ket{0} + \beta \ket{1}
|
||||||
|
.%
|
||||||
|
\end{align*}
|
||||||
|
%
|
||||||
|
Combining these two sytems into one, the overall state becomes%
|
||||||
|
%
|
||||||
|
\begin{align*}
|
||||||
|
&\mleft( \alpha_1 \ket{0} + \beta_1 \ket{1} \mright) \otimes
|
||||||
|
\mleft( \alpha_2 \ket{0} + \beta_2 \ket{1} \mright) \\
|
||||||
|
= &\alpha_1 \alpha_2 \ket{0} \ket{0}
|
||||||
|
+ \alpha_1 \alpha_2 \ket{0} \ket{1}
|
||||||
|
+ \beta_1 \alpha_2 \ket{1} \ket{0}
|
||||||
|
+ \beta_1 \beta_2 \ket{1} \ket{1}
|
||||||
|
% =: &\alpha_{00} \ket{00}
|
||||||
|
% + \alpha_{01} \ket{01}
|
||||||
|
% + \alpha_{10} \ket{10}
|
||||||
|
% + \alpha_{11} \ket{11}
|
||||||
|
.%
|
||||||
|
\end{align*}%
|
||||||
|
%
|
||||||
|
\ldots When not ambiguous in the context, the tensor product
|
||||||
|
symbol may be omitted, e.g.,
|
||||||
|
\begin{align*}
|
||||||
|
\ket{0} \otimes \ket{0} = \ket{0}\ket{0}
|
||||||
|
.%
|
||||||
|
\end{align*}
|
||||||
|
}
|
||||||
|
|
||||||
|
As we will see, the core concept that gives quantum computing its
|
||||||
|
power is entanglement. When two quantum mechanical systems are
|
||||||
|
entangled, measuring the state of one will collapse that of the other.
|
||||||
|
Take for example two subsystems with the overall state
|
||||||
|
%
|
||||||
|
\begin{align*}
|
||||||
|
\ket{\psi} = \frac{1}{\sqrt{2}} \mleft( \ket{0}\ket{0} +
|
||||||
|
\ket{1}\ket{1} \mright)
|
||||||
|
.%
|
||||||
|
\end{align*}
|
||||||
|
%
|
||||||
|
If we measure the first subsystem as being in $\ket{0}$, we can
|
||||||
|
be certain that a measurement of the second subsystem will also yield $\ket{0}$.
|
||||||
|
Introducing a new notation for entangled states, we can write%
|
||||||
|
%
|
||||||
|
\begin{align*}
|
||||||
|
\ket{\psi} = \frac{1}{\sqrt{2}} \left( \ket{00} + \ket{11} \right)
|
||||||
|
.%
|
||||||
|
\end{align*}
|
||||||
|
%
|
||||||
|
|
||||||
|
\subsection{Projective Measurements}
|
||||||
|
\label{subsec:Projective Measurements}
|
||||||
|
|
||||||
|
% TODO: Write
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%
|
||||||
|
\subsection{Quantum Gates}
|
||||||
|
\label{subsec:Quantum Gates}
|
||||||
|
|
||||||
|
\red{
|
||||||
|
\textbf{Content:}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Bra-ket notation
|
||||||
|
\item The tensor product
|
||||||
|
\item Projective measurements (the related operators,
|
||||||
|
eigenvalues/eigenspaces, etc.)
|
||||||
|
\begin{itemize}
|
||||||
|
\item First explain what an operator is
|
||||||
|
\end{itemize}
|
||||||
|
\item Abstract intro to QC: Use gates to process qubit
|
||||||
|
states, similar to classical case
|
||||||
|
\item X, Z, Y operators/gates
|
||||||
|
\item Hadamard gate (+ X and Z are the same thing in differt bases)
|
||||||
|
\item Notation of operators on multi-qubit states
|
||||||
|
\item The Pauli, Clifford and Magic groups
|
||||||
|
\end{itemize}
|
||||||
|
}
|
||||||
|
|
||||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
\section{Quantum Error Correction}
|
||||||
|
\label{sec:Quantum Error Correction}
|
||||||
|
|
||||||
|
\red{
|
||||||
|
\textbf{Content:}
|
||||||
|
\begin{itemize}
|
||||||
|
\item General context
|
||||||
|
\begin{itemize}
|
||||||
|
\item Why we want QC
|
||||||
|
\item Why we need QEC (correcting errors due to noisy gates)
|
||||||
|
\item Main challenges of QEC compared to classical
|
||||||
|
error correction
|
||||||
|
\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)
|
||||||
|
\end{itemize}
|
||||||
|
\item Digitization of errors
|
||||||
|
\item CSS codes
|
||||||
|
\item Color codes?
|
||||||
|
\item Surface codes?
|
||||||
|
\item Fault tolerant error correction (gates with which we do
|
||||||
|
error correction are also noisy)
|
||||||
|
\begin{itemize}
|
||||||
|
\item Transversal operations
|
||||||
|
\item \dots
|
||||||
|
\end{itemize}
|
||||||
|
\item Circuit level noise
|
||||||
|
\item Detector error model
|
||||||
|
\begin{itemize}
|
||||||
|
\item Columns of the check matrix represent different
|
||||||
|
possible error patterns $\rightarrow$ Check matrix
|
||||||
|
doesn't quite correspond to the codewords we used
|
||||||
|
initially anymore, but some similar structure ist
|
||||||
|
still there (compare with syndrome)
|
||||||
|
\end{itemize}
|
||||||
|
\end{itemize}
|
||||||
|
\textbf{General Notes:}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Give a brief overview of the history of QEC
|
||||||
|
\item Note (and research if this is actually correct) that QC
|
||||||
|
was developed on an abstract level before thinking of
|
||||||
|
what hardware to use
|
||||||
|
\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)
|
||||||
|
\end{itemize}
|
||||||
|
}
|
||||||
|
|
||||||
|
\subsection{Stabilizer Codes}
|
||||||
|
\subsection{CSS Codes}
|
||||||
|
\subsection{Quantum Low-Density Parity-Check Codes}
|
||||||
|
|
||||||
13
src/thesis/chapters/3_fault_tolerant_qec.tex
Normal file
13
src/thesis/chapters/3_fault_tolerant_qec.tex
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
\chapter{Fault Tolerant QEC}
|
||||||
|
\section{Fault Tolerance}
|
||||||
|
\section{Noise Models}
|
||||||
|
\subsection{Depolarizing Channel}
|
||||||
|
\subsection{Phenomenological Noise}
|
||||||
|
\subsection{Circuit-Level Noise}
|
||||||
|
\section{Detector Error Models}
|
||||||
|
\subsection{Measurement Syndrome Matrix}
|
||||||
|
\subsection{Detector Error Matrix}
|
||||||
|
\subsection{Detector Error Models}
|
||||||
|
\section{Practical Considerations}
|
||||||
|
\subsection{Practical Methodology}
|
||||||
|
\subsection{Stim}
|
||||||
5
src/thesis/chapters/4_decoding_under_dems.tex
Normal file
5
src/thesis/chapters/4_decoding_under_dems.tex
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
\chapter{Decoding under Detector Error Models}
|
||||||
|
\section{Sliding-Window Decoding}
|
||||||
|
\section{Treating Detector Error Matrices like SC-LDPC Codes}
|
||||||
|
\section{Soft-Information Aware Sliding-Window Decoding}
|
||||||
|
\section{Numerical Results and Analysis}
|
||||||
1
src/thesis/chapters/5_conclusion_and_outlook.tex
Normal file
1
src/thesis/chapters/5_conclusion_and_outlook.tex
Normal file
@@ -0,0 +1 @@
|
|||||||
|
\chapter{Conclusion and Outlook}
|
||||||
66
src/thesis/main.tex
Normal file
66
src/thesis/main.tex
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
\documentclass[dvipsnames]{report}
|
||||||
|
|
||||||
|
\usepackage[a4paper,left=3cm,right=3cm,top=2.5cm,bottom=2.5cm]{geometry}
|
||||||
|
\usepackage{float}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{amsfonts}
|
||||||
|
\usepackage{mleftright}
|
||||||
|
\usepackage{bm}
|
||||||
|
\usepackage{tikz}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{pgfplots}
|
||||||
|
\pgfplotsset{compat=newest}
|
||||||
|
\usepackage{acro}
|
||||||
|
\usepackage{braket}
|
||||||
|
\usepackage[
|
||||||
|
backend=biber,
|
||||||
|
style=ieee,
|
||||||
|
sorting=nty,
|
||||||
|
]{biblatex}
|
||||||
|
\usepackage{todonotes}
|
||||||
|
|
||||||
|
\usetikzlibrary{calc, positioning, arrows}
|
||||||
|
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% Custom commands
|
||||||
|
%
|
||||||
|
%
|
||||||
|
|
||||||
|
\newcommand{\red}[1]{\textcolor{red}{#1}}
|
||||||
|
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% Acronyms
|
||||||
|
%
|
||||||
|
%
|
||||||
|
|
||||||
|
\input{acronyms.tex}
|
||||||
|
\addbibresource{src/thesis/MA.bib}
|
||||||
|
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% Content
|
||||||
|
%
|
||||||
|
%
|
||||||
|
|
||||||
|
\title{Fault Tolerant Quantum Error Correction}
|
||||||
|
% \subtitle{Master's Thesis}
|
||||||
|
\author{Andreas Tsouchlos}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
\tableofcontents
|
||||||
|
\newpage
|
||||||
|
|
||||||
|
\input{chapters/1_introduction.tex}
|
||||||
|
\input{chapters/2_fundamentals.tex}
|
||||||
|
\input{chapters/3_fault_tolerant_qec.tex}
|
||||||
|
\input{chapters/4_decoding_under_dems.tex}
|
||||||
|
\input{chapters/5_conclusion_and_outlook.tex}
|
||||||
|
|
||||||
|
\printbibliography
|
||||||
|
|
||||||
|
\end{document}
|
||||||
|
|
||||||
Reference in New Issue
Block a user