\documentclass[overviewatsection, showsubsectionsatfirstoverview]{CELbeamer}

%
%
% CEL Template
%
%

\newcommand{\templates}{preambles}
\input{\templates/packages.tex}
\input{\templates/macros.tex}

\grouplogo{CEL_logo.pdf}

\groupname{Communications Engineering Lab (CEL)}

\fundinglogos{}

%
%
% Document setup
%
%

\usepackage{tikz}
\usepackage{tikz-3dplot}
\usetikzlibrary{spy, external, intersections, positioning}

% \ifdefined\ishandout\else
% \tikzexternalize
% \fi

\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{fillbetween}
\usepgfplotslibrary{groupplots}

\usepackage{enumerate}
\usepackage{listings}
\usepackage{subcaption}
\usepackage{bbm}
\usepackage{multirow}
\usepackage{xcolor}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{calc}
\usepackage{amssymb}
\usepackage{acro}
\usepackage{braket}
\usepackage{qcircuit}

\title{Fault Tolerant Quantum Error Correction}
\subtitle{Master's Thesis Midterm Presentation}
\author[Tsouchlos]{Andreas Tsouchlos}
\date[]{February 5th, 2026}

\DeclareFieldFormat{note}{}
\DeclareFieldFormat{issn}{}
\DeclareFieldFormat{url}{}
\DeclareFieldFormat{doi}{}
\DeclareFieldFormat[article,book,inproceedings]{urldate}{}

\addbibresource{MA.bib}

%
%
% Custom commands
%
%

\newcommand{\red}[1]{\textcolor{red}{#1}}
\newcommand{\res}{src/midterm_presentation/res}

%
%
% Acronyms
%
%

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

\DeclareAcronym{css}{
    short=CSS,
    long=Calderbank Shor Steane
}

%
%
% Document body
%
%

\begin{document}

\begin{frame}[title white vertical, picture=images/IMG_7801-cut]
    \titlepage
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Introduction to Quantum Error Correction}
\label{sec:Introduction to Quantum Error Correction}

%%%%%%%%%%%%%%%%
\subsection{Motivation}
\label{subsec:Motivation}

\begin{frame}
    \frametitle{Quantum Computing}

    % Related interesting stuff
    % - Gidney estimates we need 1399 (?) logical qubits to factor a 2048
    %   bit RSA integer
    % - He goes on to estimate that to factor such an integer in less
    %   than a week would require around a million physical qubits
    %   [How to factor 2048 bit RSA integers with less than a million
    %   noisy qubits]

    \vspace*{-15mm}

    \begin{itemize}
        \item Simulating quantum systems on classical hardware
            is exponentially complex \\
            $\rightarrow$ Can't we use quantum hardware to simulate
            quantum systems? \citereference{feynman_simulating_1982}
        \item Some problems that are ``hard'' to solve on classical
            computers we can ``easily'' solve on quantum computers
            \citereference{preskill_quantum_2018}
    \end{itemize}

    \vspace*{-5mm}

    \begin{figure}[H]
        \centering

        \includegraphics[scale=0.43]{res/google_roadmap.png}

        \vspace*{-3mm}
        \caption{
            Google Quantum AI's quantum computing roadmap
            \citereference{google_quantum_ai_quantum_nodate}.
        }
    \end{figure}

    \vspace*{3mm}

    \addreferences
    {feynman_simulating_1982}
    {preskill_quantum_2018}
    {google_quantum_ai_quantum_nodate}
    \stopreferences
\end{frame}

% TODO: Where should I quote Preskill? There are multiple bullet
% points with info taken from his work
\begin{frame}
    \frametitle{The Need for Quantum Error Correction}

    \vspace*{-17mm}

    % Related interesting stuff
    % - Qubits differ from bits in that they can be in superpositions
    %   and be entangled with one another
    % - Quantum computers derive their strenght from the exponential
    %   scaling of the state-space because of the way the information is
    %   encoded
    % - Note that while a physical error rate of 10^{-3} may seem ok,
    %   we need a couple trillion operations (~ 10^{13}) to factor a
    %   2048 bit RSA integer
    %   [How to factor 2048 bit RSA integers with less than a million
    %   noisy qubits]
    % - The "physical error rate" is really the value all error rates
    %   in the system are set to for circuit level noise simulations
    %   [High-threshold universal quantum computation on the surface code]
    % - The backlog problem is the fact that an increasing backlog of
    %   syndrome data will lead to an exponential slowdown during the
    %   computation

    \begin{itemize}
        \item Quantum computers represent information through
            correlations of qubits, not their values \\
            directly \citereference{preskill_quantum_2018}
        \item We want to not disturb the quantum state but need to
            interact with the system $\rightarrow$ Protect the state
            with \ac{qec}
        \item We employ more physical qubits to introduce
            redundancy and use the resulting \emph{physical} state to
            represent the \emph{logical} state
            \citereference{roffe_quantum_2019}
            \vspace*{8mm}
        \item Typical scales
            \begin{itemize}
                \item IBM recently introduced a scheme encoding $12$ logical
                    qubits in $288$ physical ones
                    \citereference{bravyi_high-threshold_2024}
                \item The physical error rate is typically assumed to
                    be $10^{-3}$ for
                    simulations (e.g.,
                    \citereference{bravyi_high-threshold_2024})
                \item Decoding has to happen with ultra-low latency to avoid
                    the backlog problem (about $\SI{1}{us}$ per data
                    extraction round) \citereference{caune_demonstrating_2024}
                    % \citereference{terhal_quantum_2015}
            \end{itemize}
    \end{itemize}

    \vspace*{7mm}

    \addreferences
    % {terhal_quantum_2015}
    {preskill_quantum_2018}
    {roffe_quantum_2019}
    {bravyi_high-threshold_2024}
    {caune_demonstrating_2024}
    \stopreferences
\end{frame}

%%%%%%%%%%%%%%%%
\subsection{Fundamentals of Quantum Error Correction}
\label{subsec:Fundamentals of Quantum Error Correction}

% TODO: Is this all of this really necessary?
\begin{frame}
    \frametitle{Peculiarities of the Quantum Setting}

    \vspace*{-5mm}

    % Related interesting stuff
    % - No cloning theorem -> Not replication of state, protection
    %   through further entanglement
    % - States are superpositions -> We theoretically need to be able
    %   to correct infinitely many different types of errors. Luckily,
    %   it turns out that in actual fact we only really need to correct
    %   two [Gottesman's Thesis]
    % - Mention that kets are just vectors, used here to represent the state
    % - There are actually infinitely many different errors that can
    %   happen, but we can digitize them and only need to consider X and Z
    % - Not only do we only care about the coset, we specifically
    %   don't want to know more than the syndrome can tell us because
    %   that would mean that "we collapse the quantum mechanical state too
    %   much"

    \begin{itemize}
        \item As mentioned earlier, \ac{qec} is actually able to
            protect the quantum state with all its correlations
        \item We have to consider phase flip errors in addition to
            bit flip errors \citereference{roffe_quantum_2019}
            \vspace*{-10mm}
            \begin{figure}[H]
                \centering
                \begin{subfigure}{0.5\textwidth}
                    \centering

                    \begin{align*}
                        \ket{0} &\rightarrow \ket{1} \\
                        \ket{1} &\rightarrow \ket{0}
                    \end{align*}

                    \caption{Bit flip (X) error}
                \end{subfigure}%
                \begin{subfigure}{0.5\textwidth}
                    \centering

                    \begin{align*}
                        \ket{0} &\rightarrow \phantom{-}\ket{0} \\
                        \ket{1} &\rightarrow -\ket{1}
                    \end{align*}

                    \caption{Phase flip (Z) error}
                \end{subfigure}
            \end{figure}
        \item Measuring the qubits directly destroys superpositions
            and entanglement \\
            $\rightarrow$ We generally only work with the syndrome,
            which we can measure \citereference{nielsen_quantum_2010}
        \item We don't care about restoring the specific codeword,
            only finding the coset it's in
    \end{itemize}

    \vspace*{15mm}

    \addreferences
    {nielsen_quantum_2010}
    {roffe_quantum_2019}
    \stopreferences
\end{frame}

\begin{frame}
    \frametitle{Stabilizer and Calderbank Shor Steane Codes}

    \vspace*{-5mm}

    % Related interesting stuff
    % - Using stabilizers to describe quantum codes is a bit like
    %   using parity check equations to describe classical codes
    %   -> stabilizer codes are the quantum analog of binary linear codes
    % - For CSS codes, "the parity checks for the X errors and the
    %   parity checks for the Z errors can be represented independently
    %   of one another"

    \begin{itemize}
        \item Stabilizer codes \citereference{nielsen_quantum_2010}
            \begin{itemize}
                \item The code space can implicitly be defined using
                    \emph{stabilizer generators}
                \item We can represent them using parity
                    check matrices
                \item Quantum analog of linear codes
            \end{itemize}
            \vspace*{10mm}
        \item \Ac{css} codes \citereference{nielsen_quantum_2010}
            \begin{itemize}
                \item Subset of stabilizer codes
                \item Can correct X and Z errors independently
                \item Described using two separate parity check
                    matrices $\bm{H}_\text{X}$ and $\bm{H}_\text{Z}$
                \item Can be constructed from two binary linear codes
                    $\mathcal{C}_1 \left[ n, k_1 \right]$ and
                    $\mathcal{C}_2 \left[ n, k_2 \right]$ with
                    $\mathcal{C}_2 \subset \mathcal{C}_1$
            \end{itemize}

            \vspace*{10mm}

        \item \red{Do I need to go more in depth for either
            stabilizer codes or CSS codes?}
    \end{itemize}

    \vspace*{10mm}

    \addreferences
    {nielsen_quantum_2010}
    \stopreferences
\end{frame}

% TODO: Do I need to show what the syndrome extraction circuitry for
% Z errors looks like?
\begin{frame}
    \frametitle{Syndrome Extraction Circuits}

    \vspace*{-16mm}

    \begin{itemize}
        \item We entangle the state with \emph{ancilla qubits} to
            perform syndrome measurements \citereference{nielsen_quantum_2010}
        \item Example: The 3-qubit repetition code%
            \footnote {
                Note that, for simplicity, this chosen example is a
                code that is not only able to correct X errors (bit flips)
            } %
            \red{Do I need to show what the syndrome extraction
            circuitry for Z errors looks like?}
    \end{itemize}

    \vspace*{-10mm}

    \begin{align*}
        \bm{H} =
        \begin{pmatrix}
            1 & 1 & 0 \\
            0 & 1 & 1
        \end{pmatrix}
    \end{align*}

    \vspace*{5mm}

    \begin{figure}[H]
        \centering
        \mbox{
            % tex-fmt: off
            \Qcircuit @C=1em @R=.7em {
                                     & & \ctrl{3} & \qw      & \qw      & \qw      & \qw    & \qw \\
                \ket{\psi}_\text{L}  & & \qw      & \ctrl{2} & \ctrl{3} & \qw      & \qw    & \qw \\
                                     & & \qw      & \qw      & \qw      & \ctrl{2} & \qw    & \qw \\
                \ket{0}_{\text{A}_1} & & \targ    & \targ    & \qw      & \qw      & \meter &     \\
                \ket{0}_{\text{A}_2} & & \qw      & \qw      & \targ    & \targ    & \meter &
            }
            % tex-fmt: on
        }

        \vspace*{5mm}

        \caption{Syndrome extraction circuit for the 3-qubit repetition code}
    \end{figure}

    % \vspace*{5mm}
    \vspace*{-2mm}

    \addreferences
    {nielsen_quantum_2010}
    \stopreferences

\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Fault Tolerance and Detector Error Models}
\label{sec:Fault Tolerance and Detector Error Models}

%%%%%%%%%%%%%%%%
\subsection{Fault Tolerance}
\label{subsec:Fault Tolerance}

\begin{frame}
    \frametitle{Fault Tolerance}

    \begin{itemize}
        \item Quantum gates are faulty $\rightarrow$ we need QEC \\
            But we do QEC with faulty gates $\rightarrow$ we need
            fault tolerant QEC %
            \footnote{
                Designing fault-tolerant circuits using detector
                error models - Gong et al, Section 4.1
            }
        \item We generally do multiple rounds of syndrome extraction
        \item The Threshold theorem
            \setcounter{footnote}{0}
        \item Definition of fault tolerance \footnotemark
        \item \red{Different approaches to fault tolerance?}
    \end{itemize}
\end{frame}

% TODO: Where to we introduces the different kinds of noise models?
\begin{frame}
    \frametitle{Noise models}

    \begin{itemize}
        \item The depolarizing channel
        \item Phenomenological noise
        \item Circuit-level noise (we generally have all error
                probabilities equal the same value \\
            for simulations \citereference{fowler_high-threshold_2009})
    \end{itemize}

    \vspace*{15mm}

    \addreferences
    {fowler_high-threshold_2009}
    \stopreferences
\end{frame}

%%%%%%%%%%%%%%%%
\subsection{Detector Error Models}
\label{subsec:Detector Error Models}

\begin{frame}
    \frametitle{Detector Error Models}

    \begin{itemize}
        \item Idea: Go "one layer of abstraction higher" \\
            $\rightarrow$ Redefine syndrome and create new PC matrix from that
    \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Example: 3-Qubit Repetition Code Detector\\ Error
    Model for Circuit Level Noise}

    \begin{itemize}
        \item New Syndrome Extraction Circuitry \red{Is a
            repetition of the old circuitry needed?}
        \item New parity check matrix
        \item Highlighting of the SC-LDPC-code-like structure
    \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Challenges}

    \begin{itemize}
        \item \red{Multiple different errors are summarized
            $\rightarrow$ short cycles \& degeneracy}
            \footnote{
                \texttt{
                    \red{https://www.math.cit.tum.de/fileadmin/w00ccg/math/\_my\_direct\_uploads/Dan\_Browne.pdf}
                }
            }
            \\
            \red{$\rightarrow$ We generally don't use "normal BP" (BP
            + OSD, BPGD, etc.)}
    \end{itemize}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{State of the Art and Research Gap}
\label{sec:State of the Art and Research Gap}

%%%%%%%%%%%%%%%%
\subsection{State of the Art}
\label{subsec:State of the Art}

\begin{frame}
    \frametitle{Sliding Window Decoding}

    \begin{itemize}
            % TODO: Do I have to explain BP?
        \item \red{Do I have to explain BP}
        \item Give overview of existing research
        \item Explain exactly what they do in the main paper I am
            basing my work on
    \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Guided Decimation Guessing Decoding}

    \begin{itemize}
        \item Update equations
        \item Key ideas
        \item Syndrome Based BP
    \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Memory experiments}

    \begin{itemize}
        \item What is a memory experiment?
        \item Communications Engineering view (what are my inputs and
            outpus? What do I expect?)
    \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Systemic overview}

    \begin{itemize}
        \item Top level overview of entire system: X and Z syndrome
            extraction, logical operator measurement, where decoding
            takes place, etc. (fig. 3 of \citereference{derks_designing_2025})
    \end{itemize}

    \vspace*{15mm}

    \addreferences
    {derks_designing_2025}
    \stopreferences
\end{frame}

\begin{frame}
    \frametitle{Research Gap}

    \begin{itemize}
        \item Use soft information for sliding window decoding
            $\rightarrow$ Treat as spacially coupled LDPC code
        \item Current work considers X and Z errors separately
            (probably for latency reasons) $\rightarrow$ See how
            decoding the jointly works out
    \end{itemize}
\end{frame}

%%%%%%%%%%%%%%%%
\subsection{What we simulate}
\label{subsec:What we simulate}

\begin{frame}
    \frametitle{The lack of a Standard Evaluation System}

    \begin{itemize}
        \item \red{Look into ECCentric}
        \item There is not even a standard figure of merit (e.g.,
            FER/BER over SNR in classical case) $\rightarrow$
            Multiple different kinds of plots (e.g., footprint)
        \item Overview of variables
    \end{itemize}
\end{frame}

\begin{frame}
    \frametitle{Proposed Evaluation Pipeline}

    \begin{itemize}
        \item To what values I will fix the parameters and why
        \item What figure of merit I will use and why
    \end{itemize}
\end{frame}

\begin{frame}[t]
    \frametitle{Questions}

    \begin{minipage}[c]{0.65\textwidth}
        \centering

        \LARGE Thank you for your attention!\\ Any questions?
    \end{minipage}%
    \begin{minipage}[c]{0.35\textwidth}
        \centering
        \begin{figure}[H]
            \centering

            \begin{tikzpicture}[every node/.style={scale=10}]
                \node at (0, 0)
                {\textcolor{kit-blue}{{\fontfamily{phv}\selectfont ?}}};
            \end{tikzpicture}
        \end{figure}
    \end{minipage}

\end{frame}

\appendix
\beginbackup

% TODO: Move arrow into syndrome extraction lower (branch from other
% arrow) and change caption to "modified from [MSLS25]"
\begin{frame}
    \frametitle{System Level Overview}

    \vspace*{-15mm}

    \begin{figure}[H]
        \centering
        \begin{subfigure}[t]{0.5\textwidth}
            \centering

            \includegraphics[scale=1.1]{res/architecture}

            \vspace*{5mm}

            \caption{Schematic workflow of surface code quantum
            computation \citereference{zhang_classical_2023}.}
        \end{subfigure}%
        \begin{subfigure}[t]{0.5\textwidth}
            \centering

            \tikzset{
                block/.style={
                    draw, rectangle,
                    fill = kit-blue!25,
                    minimum width=75mm, minimum height=15mm,
                }
            }

            \scalebox{0.7}{
                \begin{tikzpicture}[node distance=15mm and 20mm]
                    \node[block] (encoding) {Encoding};
                    \node[block, below=of encoding] (channel) {Quantum Channel};
                    \node[block, below=of channel] (reverse-op)
                    {Reverse Operation};

                    \node[block, right=of channel] (syn-extr)
                    {Syndrome Extraction};
                    \node[block, below=of syn-extr] (syn-dec)
                    {Syndrome Decoder};

                    \node[above=of encoding] (input) {$\ket{\phi}$};
                    \node[below=of reverse-op] (output)
                    {$\hat{\mathcal{E}}\mathcal{E}\ket{\psi}$};

                    \draw [-{Latex}] (encoding) -- (channel) node[midway,
                    right] {$\ket{\psi}$};
                    \draw [-{Latex}] (channel) -- (reverse-op)
                    node[midway, right] {$\mathcal{E}\ket{\psi}$};
                    \draw [-{Latex}] (channel) -- (syn-extr)
                    node[midway, above] {$\mathcal{E}\ket{\psi}$};
                    \draw [-{Latex}] (syn-extr) -- (syn-dec)
                    node[midway, right] {$z$};
                    \draw [-{Latex}] (syn-dec) -- (reverse-op)
                    node[midway, above] {$\hat{\mathcal{E}}$};

                    \draw [-{Latex}] (input) -- (encoding);
                    \draw [-{Latex}] (reverse-op) -- (output);
                \end{tikzpicture}
            }

            \vspace*{5mm}

            \caption{Block diagram of QEC using stabilizer codes
            \citereference{miao_quaternary_2025}.}
        \end{subfigure}
    \end{figure}

    % \vspace*{-2mm}

    \addreferences
    {zhang_classical_2023}
    {miao_quaternary_2025}
    \stopreferences
\end{frame}

% TODO: Is this really necessary?
\begin{frame}
    \frametitle{The Quantum Error Correction Landscape}

    \begin{itemize}
        \item Give basic overview of most promising avenues of
            research (as in ECCentric paper)
    \end{itemize}
\end{frame}

\backupend

\end{document}

