\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}

%
%
% Custom commands
%
%

\newcommand{\red}[1]{\textcolor{red}{#1}}

%
%
% Acronyms
%
%

\DeclareAcronym{qec}{
    short=QEC,
    long=quantum error correction
}

\addbibresource{src/fundamentals/MA.bib}

%
%
% Content
%
%

\title{Fundamentals}
\author{Andreas Tsouchlos}

\begin{document}

\maketitle
\tableofcontents
\newpage

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Fundamentals}
\label{ch:Fundamentals}

\Ac{qec} is a field of research combining quantum mechanics and
``classical'' communications engineering.
This chapter provides the relevant theoretical background on both of
these topics and subsequently introduces the the fundamentals of \ac{qec}.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% TODO: Is Quantum Information Theory the correct title here? Would someth
\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}

%%%%%%%%%%%%%%%%
\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{Classical Error Correction}
\label{sec:Classical Error Correction}

\red{
    \textbf{Content:}
    \begin{itemize}
        \item Binary linear codes
        \item BP?
        \item Tanner(/factor?) graphs
        \item Codes over higher order fields?
        \item More necessary stuff (SC-LDPC?, etc.)
    \end{itemize}
    \textbf{General Notes:}
    \begin{itemize}
        \item Make sure all coding concepts used later on have been
            introduced (e.g., code rate?)
    \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
    \end{itemize}
}

\printbibliography

\end{document}

