\documentclass[overviewatsection]{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, tikzmark}

% \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[table,dvipsnames]{xcolor}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{calc}
\usepackage{amssymb}
\usepackage{acro}
\usepackage{braket}
\usepackage{quantikz}
\usepackage{nicematrix}
\usepackage{xpatch}

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

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

\addbibresource{src/midterm_presentation/MA.bib}

%
%
% Custom commands
%
%

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

\newcommand{\X}{\textcolor{kit-blue}{\bm{X}}}
\newcommand{\Z}{\textcolor{kit-orange}{\bm{Z}}}
\newcommand{\Y}{\textcolor{kit-red}{\bm{Y}}}
\newcommand{\I}{\bm{I}}

\xpatchcmd{\fullwire}
{\arrow[arrows,start anchor=#2startone,end anchor=#2endone]
{#1}\arrow[arrows,start anchor=#2starttwo,end anchor=#2endtwo,#4] {#1}}
{\arrow[arrows,start anchor=#2startone,end anchor=#2endone,#4]
{#1}\arrow[arrows,start anchor=#2starttwo,end anchor=#2endtwo,#4] {#1}}
{\typeout{Successfully patched fullwire for classical wires}}
{\typeout{Failed to patch fullwire for classical wires}}

\makeatletter

\newcommand{\addreferencesmanual}{%
    \begin{scriptsize}
        \begin{tabular}{lp{0.88\textwidth}}
            \@addreferencesimanual
        }

        \newcommand\@addreferencesimanual{\@ifnextchar\stopreferencesmanual{\@addreferencesendmanual}{\@addreferencesiimanual}}

        \newcommand\@addreferencesiimanual[2]{%
            \textcolor{kit-green100}{[#1]} & \textcolor{kit-green100}{#2} \\
            \@addreferencesimanual % restart the recursion
        }

        \newcommand\@addreferencesendmanual[1]{% The argument is \stopimages
        \end{tabular}
    \end{scriptsize}
}

\makeatother

\newcommand{\citereferencemanual}[1]{\textcolor{kit-green100}{\textbf{\scriptsize{[#1]}}}}

%
%
% Acronyms
%
%

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

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

\DeclareAcronym{bb}{
    short=BB,
    long=bivariate bicycle
}

\DeclareAcronym{dem}{
    short=DEM,
    long=detector error model
}

\DeclareAcronym{bp}{
    short=BP,
    long=belief propagation
}

\DeclareAcronym{osd}{
    short=OSD,
    long=ordered statistics decoding,
}

\DeclareAcronym{qldpc}{
    short=QLDPC,
    long=quantum low-density parity-check,
}

\DeclareAcronym{scldpc}{
    short=SC-LDPC,
    long=spatially-coupled low-density parity-check
}

\DeclareAcronym{ler}{
    short=LER,
    long=logical error rate,
}

%
%
% 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$ Use quantum hardware to simulate quantum
            systems \citereferencemanual{Fey82}
        \item ``Hard'' to solve problems on classical computers can
            be ``easy''  on quantum computers
            \citereferencemanual{Pre18}
        \item Google Quantum AI's quantum computing roadmap
            \citereferencemanual{Goo23}
    \end{itemize}

    \vspace*{3mm}

    \begin{figure}[H]
        \centering
        \includegraphics[scale=0.43]{res/google_roadmap.png}
    \end{figure}

    \vspace*{3mm}

    \addreferencesmanual
    {Fey82}{
        R. P. Feynman, ``Simulating physics with computers,'',
        \emph{International Journal of Theoretical Physics}, 1982.
    }
    {Pre18}{
        J. Preskill, ``Quantum Computing in the NISQ era and
        beyond,'' \emph{Quantum}, 2018.
    }
    {Goo23}{
        Google Quantum AI, \emph{Quantum Computing Roadmap}, URL:
        \url{https://quantumai.google/qecmilestone2023}, 2023.
    }
    \stopreferencesmanual
\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*{-12mm}

    % 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 Quantum systems are inherently fragile
        \item Interacting with the quantum state disturbs it
        \item Idea: Represent \schlagwort{logical qubits} using more
            \schlagwort{physical qubits} \citereferencemanual{Rof19}

            \vspace*{2mm}

            \begin{figure}[H]
                \centering
                \begin{tikzpicture}
                    \node[
                        rectangle,
                        draw, fill=kit-blue!25,
                        minimum height=15mm,
                    ]
                    (enc) {Three-qubit encoder};

                    \node[left=of enc]  (in)
                    {$\ket{\psi} = \alpha\ket{0} + \beta\ket{1}$};

                    \node[right=of enc,yshift=6mm]  (out)
                    {$\alpha\overbrace{\ket{000}}^{\ket{0}_\text{L}}
                        +\; \beta\overbrace{\ket{111}}^{\ket{1}_\text{L}} =
                    \ket{\psi}_\text{L}$};

                    \draw[-{Latex}] (in) -- (enc);
                    \draw[-{Latex}] (enc) -- (enc -| out.west);
                \end{tikzpicture}
            \end{figure}

            \vspace*{5mm}
            \visible<2>{
            \item Typical scales
                \begin{itemize}
                    \item Recent scheme by IBM encodes $12$ logical
                        qubits in $288$ physical ones
                        \citereferencemanual{BCG$^+$24}
                    \item Physical error rate typically set to $10^{-3}$
                        for simulations (e.g.,
                        \citereferencemanual{BCG$^+$24})
                    \item Decode with ultra-low latency to avoid
                        \schlagwort{backlog problem} (about
                            $\SI{1}{\micro s}$ per data \\
                        extraction round)
                        \citereferencemanual{CSB$^+$24}
                \end{itemize}
            }
    \end{itemize}

    \vspace*{10mm}

    \addreferencesmanual
    {Rof19}{
        J. Roffe, ``Quantum error correction: An introductory
        guide,'' \emph{Contemporary Physics}, 2019.
    }
    {BCG$^+$24}{
        S. Bravyi et al., ``High-threshold and low-overhead
        fault-tolerant quantum memory,'' \emph{Nature}, 2024.
    }
    {CSB$^+$24}{
        L. Caune et al., ``Demonstrating real-time and low-latency
        quantum error correction with superconducting qubits'',
        \emph{arXiv:2410.05202}, 2024.
    }
    \stopreferencesmanual
\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*{-10mm}

    % 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 \Ac{qec} is actually able to protect the actual
            % quantum state
        \item Classical systems built with bits and gates, quantum
            systems with qubits and quantum gates
        \item We have to consider phase flip errors in addition to
            bit flip errors \citereferencemanual{Rof19}
    \end{itemize}

    \vspace*{-3mm}

    \begin{figure}[H]
        \centering
        \begin{subfigure}{0.32\textwidth}
            \centering

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

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

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

            \caption{Phase flip ($\Z$) error}
        \end{subfigure}%
        \begin{subfigure}{0.32\textwidth}
            \centering

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

            \caption{$\Y$ error}
        \end{subfigure}
    \end{figure}

    \begin{itemize}
            \visible<2->{
            \item Measuring the qubits directly destroys superpositions
                and entanglement \\
                $\rightarrow$ Use syndrome for decoding
                \citereferencemanual{NC10}
            }
            \visible<3>{
            \item Superposition $\rightarrow$ Multiple solutions to the
                decoding problem
                (\schlagwort{quantum degeneracy})
            \citereferencemanual{RWB$^+$20}}
    \end{itemize}

    \vspace*{12mm}

    \addreferencesmanual
    {Rof19}{
        J. Roffe, ``Quantum error correction: An introductory
        guide,'' \emph{Contemporary Physics}, 2019.
    }
    {NC10}{
        M. A. Nielsen and I. L. Chuang, ``Quantum Computation and
        Quantum Information'', \emph{Cambridge University Press}, 2010.
    }
    {RWB$^+$20}{
        J. Roffe et al., ``Decoding across the quantum low-density
        parity-check code landscape,'' \emph{Physical Review Research}, 2020.
    }
    \stopreferencesmanual
\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 \citereferencemanual{NC10}
            \begin{itemize}
                \item Implicitly defined using \schlagwort{stabilizer
                    generators}
                \item Can be represented using parity check matrices
                \item Quantum analog of linear block codes
            \end{itemize}
            \vspace*{10mm}
            \visible<2->{
            \item \Acf{css} codes \citereferencemanual{NC10}
                \begin{itemize}
                    \item Subset of stabilizer codes
                    \item Able to correct $\X$ and $\Z$ errors independently
                    \item Described using two separate parity check
                        matrices $\bm{H}_X$ and $\bm{H}_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}
            }
    \end{itemize}

    \vspace*{20mm}

    \addreferencesmanual
    {NC10}{
        M. A. Nielsen and I. L. Chuang, ``Quantum Computation and
        Quantum Information'', \emph{Cambridge University Press}, 2010.
    }
    \stopreferencesmanual
\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*{-10mm}

    \begin{itemize}
        \item Entangle the state $\ket{\psi}$ with
            \schlagwort{ancilla qubits} to perform syndrome
            measurements \citereferencemanual{NC10}
        \item Example: The 3-qubit repetition code for $\X$ errors
    \end{itemize}

    \vspace*{5mm}

    \begin{figure}[H]
        \centering
        \hspace*{-25mm}
        \begin{subfigure}{0.4\textwidth}
            \centering
            \begin{align*}
                \bm{H} =
                \begin{pmatrix}
                    1 & 1 & 0 \\
                    0 & 1 & 1
                \end{pmatrix}
            \end{align*}

            % \newcommand{\anyerrgate}{\gate[style={fill=red!20}]{\mathcal{E}_\text{XYZ}}}
            \newcommand{\preperr}{\gate[style={fill=orange!20}]{\phantom{1}}}
            \newcommand{\gateerr}{\gate[style={fill=red!20}]{\phantom{1}}}
            \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}}

            \centering
            % tex-fmt: off
            \begin{quantikz}%[row sep=4mm, column sep=4mm]
                                                & \ctrl{3} &          &          &          &           &                 \\
                \lstick{$\ket{\psi}$}           &          & \ctrl{2} & \ctrl{3} &          &           &                 \\
                                                &          &          &          & \ctrl{2} &           &                 \\
                \lstick{$\ket{0}_{\text{A}_1}$} & \targ{}  & \targ{}  &          &          &  \meter{} & \setwiretype{c} \\
                \lstick{$\ket{0}_{\text{A}_2}$} &          &          & \targ{}  & \targ{}  &  \meter{} & \setwiretype{c}
            \end{quantikz}
            % tex-fmt: on
        \end{subfigure}%
        \begin{subfigure}{0.15\textwidth}
            \centering
            \begin{align*}
                \bm{H} \bm{y}^\text{T} = \bm{H} \bm{e}^\text{T} = \bm{s}
            \end{align*}
            \vspace*{-5mm}
        \end{subfigure}
    \end{figure}

    \vspace*{10mm}

    \addreferencesmanual
    {NC10}{
        M. A. Nielsen and I. L. Chuang, ``Quantum Computation and
        Quantum Information'', \emph{Cambridge University Press}, 2010.
    }
    \stopreferencesmanual
\end{frame}

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

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

% TODO: Fix journal for {shor_fault-tolerant_1997} not showing
\begin{frame}
    \frametitle{Fault Tolerance}

    \vspace*{-10mm}

    \begin{itemize}
        \item Quantum gates used for syndrome extraction are
            faulty themselves \\
            $\rightarrow$ Need for \schlagwort{fault-tolerant} \acf{qec}
        \item In addition to correcting \schlagwort{input errors},
            limit spread of \schlagwort{internal errors}
            \citereferencemanual{DTB$^+$25}
    \end{itemize}

    \vspace*{3mm}

    \begin{figure}[H]
        \centering

        \begin{tikzpicture}
            \node[rectangle, draw, fill=orange!20, minimum
            height=3cm, minimum width=3.5cm, align=left] at (0,0)
            (internal) {Internal\\ Errors};

            \node[signal, draw, fill=Plum!20, minimum height=3cm,
            minimum width=4cm, align=left, signal pointer angle=140]
            at (-3.7, 0) (input) {Input\\ Errors};

            \node at (2.5,0) {\huge =};

            \node[rectangle, draw, fill=MidnightBlue!20, minimum height=3cm,
            minimum width=3.5cm, align=left] at (5,0) (output)
            {Output\\ Errors};

            \node[above] at (input.north) {\small Input State};
            \node[above] at (internal.north) {\small QEC};
            \node[above] at (output.north) {\small Output State};
        \end{tikzpicture}
    \end{figure}

    \vspace*{3mm}

    \begin{itemize}
            \visible<2->{
            \item Modify syndrome extraction circuitry (e.g., multi-qubit
                    states for each ancilla
                \citereferencemanual{Sho97})
            \item Multiple rounds of syndrome extraction
            }
    \end{itemize}

    \vspace*{15mm}

    \addreferencesmanual
    {DTB$^+$25}{
        P.- J. H. S. Derks et al., ``Designing fault-tolerant
        circuits using detector error models,'' \emph{Quantum}, 2025.
    }
    {Sho97}{
        P. W. Shor, ``Fault-tolerant quantum computation,''
        \emph{arXiv:quant-ph/9605011},  1997.
    }
    \stopreferencesmanual
\end{frame}

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

\begin{frame}[fragile]
    \frametitle{The Measurement Syndrome Matrix I}

    \vspace*{-18mm}

    \begin{itemize}
        \item \schlagwort{Measurement syndrome matrix} $\bm{\Omega}$ \\
            contains error patterns \citereferencemanual{DTB$^+$25}
        \item Example: 3-qubit repetition code
    \end{itemize}

    \vspace*{-25mm}

    \centering
    \only<1>{
        \begin{minipage}{0.4\textwidth}
            \centering

            \vspace*{40mm}
            \begin{tikzpicture}
                \node{$%
                    \bm{\Omega} =
                    \left(
                        \begin{array}{ccc}
                            1 & 1 & 0 \\
                            0 & 1 & 1 \\
                            1 & 1 & 0 \\
                            0 & 1 & 1 \\
                            1 & 1 & 0 \\
                            0 & 1 & 1
                        \end{array}
                    \right)$
                };

                \draw [
                    line width=1pt,
                    decorate,
                    decoration={brace,mirror,amplitude=3mm,raise=5mm}
                ]
                (2.5,1.2) -- (2.5,2.85)
                node[midway,right,xshift=10mm]{$\text{SE}_1$};

                \draw [
                    line width=1pt,
                    decorate,
                    decoration={brace,mirror,amplitude=3mm,raise=5mm}
                ]
                (2.5,-0.75) -- (2.5,0.9)
                node[midway,right,xshift=10mm]{$\text{SE}_2$};

                \draw [
                    line width=1pt,
                    decorate,
                    decoration={brace,mirror,amplitude=3mm,raise=5mm}
                ]
                (2.5,-2.7) -- (2.5,-1.1)
                node[midway,right,xshift=10mm]{$\text{SE}_3$};
            \end{tikzpicture}

            \vspace*{-10mm}

            \begin{gather*}
                \bm{s} \in \text{span} \mleft\{ \bm{\Omega} \mright\}
            \end{gather*}
        \end{minipage}%
        \begin{minipage}{0.6\textwidth}
            \begin{figure}[H]
                \newcommand{\preperr}[1]{
                    \gate[style={fill=orange!20}]{\scriptstyle ##1}
                }

                \centering

                \begin{quantikz}[
                        row sep=4mm, column sep=4mm,
                        wire types={q,q,q,q,q,n,n,n,n},
                        execute at end picture={
                            \draw [
                                line width=1pt,
                                decorate,
                                decoration={brace,amplitude=3mm,raise=9mm}
                            ]
                            (\tikzcdmatrixname-4-19.north east)
                            --
                            (\tikzcdmatrixname-5-19.south east)
                            node[midway,right,xshift=14mm]{$\text{SE}_1$};
                            \draw [
                                line width=1pt,
                                decorate,
                                decoration={brace,amplitude=3mm,raise=9mm}
                            ]
                            (\tikzcdmatrixname-6-19.north east)
                            --
                            (\tikzcdmatrixname-7-19.south east)
                            node[midway,right,xshift=14mm]{$\text{SE}_2$};
                            \draw [
                                line width=1pt,
                                decorate,
                                decoration={brace,amplitude=3mm,raise=9mm}
                            ]
                            (\tikzcdmatrixname-8-19.north east)
                            --
                            (\tikzcdmatrixname-9-19.south east)
                            node[midway,right,xshift=14mm]{$\text{SE}_3$};
                        }
                    ]
                    % tex-fmt: off
                                                    & \preperr{E_0}         & \ctrl{3} &           &          &          &                                 &                 & \ctrl{5} &           &          &          &                                 &                 & \ctrl{7} &           &          &          &           &                 \\
                    \lstick{$\ket{\psi}$}           & \preperr{E_1}         &          & \ctrl{2}  & \ctrl{3} &          &                                 &                 &          &  \ctrl{4} & \ctrl{5} &          &                                 &                 &          & \ctrl{6}  & \ctrl{7} &          &           &                 \\
                                                    & \preperr{E_2}         &          &           &          & \ctrl{2} &                                 &                 &          &           &          & \ctrl{4} &                                 &                 &          &           &          & \ctrl{6} &           &                 \\
                    \lstick{$\ket{0}_{\text{A}_1}$} &                       & \targ{}  & \targ{}   &          &          &                                 &                 &          &           &          &          &                                 &                 &          &           &          &          &  \meter{} & \setwiretype{c} \\
                    \lstick{$\ket{0}_{\text{A}_2}$} &                       &          &           & \targ{}  & \targ{}  &                                 &                 &          &           &          &          &                                 &                 &          &           &          &          &  \meter{} & \setwiretype{c} \\
                                                    &                       &          &           &          &          & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{}  &  \targ{}  &          &          &                                 &                 &          &           &          &          &  \meter{} & \setwiretype{c} \\
                                                    &                       &          &           &          &          & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} &          &           &  \targ{} & \targ{}  &                                 &                 &          &           &          &          &  \meter{} & \setwiretype{c} \\
                                                    &                       &          &           &          &          &                                 &                 &          &           &          &          & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \targ{}  &  \targ{}  &          &          &  \meter{} & \setwiretype{c} \\
                                                    &                       &          &           &          &          &                                 &                 &          &           &          &          & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} &          &           &  \targ{} & \targ{}  &  \meter{} & \setwiretype{c}
                    % tex-fmt: on
                \end{quantikz}
            \end{figure}
        \end{minipage}
    }
    \only<2>{
        \begin{minipage}{0.4\textwidth}
            \centering

            \vspace*{40mm}
            \begin{tikzpicture}
                \node{$%
                    \bm{\Omega} =
                    \left(
                        \begin{array}{>{\columncolor{red!20}}ccc}
                            1 & 1 & 0 \\
                            0 & 1 & 1 \\
                            1 & 1 & 0 \\
                            0 & 1 & 1 \\
                            1 & 1 & 0 \\
                            0 & 1 & 1
                        \end{array}
                    \right)$
                };

                \draw [
                    line width=1pt,
                    decorate,
                    decoration={brace,mirror,amplitude=3mm,raise=5mm}
                ]
                (2.5,1.2) -- (2.5,2.85)
                node[midway,right,xshift=10mm]{$\text{SE}_1$};

                \draw [
                    line width=1pt,
                    decorate,
                    decoration={brace,mirror,amplitude=3mm,raise=5mm}
                ]
                (2.5,-0.75) -- (2.5,0.9)
                node[midway,right,xshift=10mm]{$\text{SE}_2$};

                \draw [
                    line width=1pt,
                    decorate,
                    decoration={brace,mirror,amplitude=3mm,raise=5mm}
                ]
                (2.5,-2.7) -- (2.5,-1.1)
                node[midway,right,xshift=10mm]{$\text{SE}_3$};
            \end{tikzpicture}

            \vspace*{-10mm}

            \begin{gather*}
                \bm{s} \in \text{span} \mleft\{ \bm{\Omega} \mright\}
            \end{gather*}
        \end{minipage}%
        \begin{minipage}{0.6\textwidth}
            \begin{figure}[H]
                \newcommand{\preperr}[1]{
                    \gate[style={fill=orange!20}]{\scriptstyle ##1}
                }
                \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}}

                \newcommand{\noise}{
                    \gate[style={noisy}]{\text{\small X}}%
                    \setwiretype{n}%
                    \wire[l][1]{q}
                }
                \newcommand{\redwire}[1]{
                    \wire[r][##1][style={draw=red, line width=2pt}]{q}
                }
                \newcommand{\redtarg}{
                    \targ[style={draw=red}]{}%
                    \setwiretype{n}%
                    \wire[l][1]{q}
                }
                \newcommand{\redctrl}[1]{
                    \ctrl[style={draw=red,fill=red,line width=2pt}]{##1}
                }
                \newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}}

                \tikzset{
                    noisy/.style={
                        starburst,
                        starburst point height=2mm,
                        fill=red!25, draw=red!85!black,
                        line width=2pt,
                        inner xsep=-2pt, inner ysep=-2pt
                    },
                }

                \centering

                \begin{quantikz}[
                        row sep=4mm, column sep=4mm,
                        wire types={q,q,q,q,q,n,n,n,n},
                        execute at end picture={
                            \draw [
                                line width=1pt,
                                decorate,
                                decoration={brace,amplitude=3mm,raise=9mm}
                            ]
                            (\tikzcdmatrixname-4-19.north east)
                            --
                            (\tikzcdmatrixname-5-19.south east)
                            node[midway,right,xshift=14mm]{$\text{SE}_1$};
                            \draw [
                                line width=1pt,
                                decorate,
                                decoration={brace,amplitude=3mm,raise=9mm}
                            ]
                            (\tikzcdmatrixname-6-19.north east)
                            --
                            (\tikzcdmatrixname-7-19.south east)
                            node[midway,right,xshift=14mm]{$\text{SE}_2$};
                            \draw [
                                line width=1pt,
                                decorate,
                                decoration={brace,amplitude=3mm,raise=9mm}
                            ]
                            (\tikzcdmatrixname-8-19.north east)
                            --
                            (\tikzcdmatrixname-9-19.south east)
                            node[midway,right,xshift=14mm]{$\text{SE}_3$};
                        }
                    ]
                    % tex-fmt: off
                                                    & \noise\redwire{18}    & \redctrl{3}            &           &          &          &                                 &                 & \redctrl{5}          &           &          &          &                                 &                 & \redctrl{7}         &           &          &          &                                                                  &                 \\
                    \lstick{$\ket{\psi}$}           & \preperr{E_1}         &                        & \ctrl{2}  & \ctrl{3} &          &                                 &                 &                      &  \ctrl{4} & \ctrl{5} &          &                                 &                 &                     & \ctrl{6}  & \ctrl{7} &          &                                                                  &                 \\
                                                    & \preperr{E_2}         &                        &           &          & \ctrl{2} &                                 &                 &                      &           &          & \ctrl{4} &                                 &                 &                     &           &          & \ctrl{6} &                                                                  &                 \\
                    \lstick{$\ket{0}_{\text{A}_1}$} &                       & \redtarg{}\redwire{16} & \targ{}   &          &          &                                 &                 &                      &           &          &          &                                 &                 &                     &           &          &          & \redmeter\wire[r][1][style={draw=red,double, line width=2pt}]{q} & \setwiretype{n} \\
                    \lstick{$\ket{0}_{\text{A}_2}$} &                       &                        &           & \targ{}  & \targ{}  &                                 &                 &                      &           &          &          &                                 &                 &                     &           &          &          & \meter{}                                                         & \setwiretype{c} \\
                                                    &                       &                        &           &          &          & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \redtarg\redwire{10} &  \targ{}  &          &          &                                 &                 &                     &           &          &          & \redmeter\wire[r][1][style={draw=red,double, line width=2pt}]{q} & \setwiretype{n} \\
                                                    &                       &                        &           &          &          & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} &                      &           &  \targ{} & \targ{}  &                                 &                 &                     &           &          &          & \meter{}                                                         & \setwiretype{c} \\
                                                    &                       &                        &           &          &          &                                 &                 &                      &           &          &          & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \redtarg\redwire{4} &  \targ{}  &          &          & \redmeter\wire[r][1][style={draw=red,double, line width=2pt}]{q} & \setwiretype{n} \\
                                                    &                       &                        &           &          &          &                                 &                 &                      &           &          &          & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} &                     &           &  \targ{} & \targ{}  & \meter{}                                                         & \setwiretype{c}
                    % tex-fmt: on
                \end{quantikz}
            \end{figure}
        \end{minipage}
    }

    \vspace*{8mm}

    \addreferencesmanual
    {DTB$^+$25}{
        P.- J. H. S. Derks et al., ``Designing fault-tolerant
        circuits using detector error models,'' \emph{Quantum}, 2025.
    }
    \stopreferencesmanual
\end{frame}

\begin{frame}[fragile]
    \frametitle{The Measurement Syndrome Matrix II}

    \vspace*{-18mm}

    \begin{itemize}
        \item \schlagwort{Measurement syndrome matrix} $\bm{\Omega}$ \\
            contains error patterns \citereferencemanual{DTB$^+$25}\
        \item Example: 3-qubit repetition code
    \end{itemize}

    \vspace*{-29mm}

    \centering
    \only<1>{
        \begin{minipage}{0.4\textwidth}
            \centering

            \vspace*{40mm}
            \hspace*{-75mm}
            \scalebox{0.85}{
                \parbox{.5\linewidth}{%
                    \vspace*{22.6mm}
                    \begin{gather*}
                        \bm{\Omega} =
                        \left(
                            \begin{array}{ccccccccccccccc}
                                1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0
                                & 0 & 0 & 0 & 0 & 0  \\
                                0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0
                                & 0 & 0 & 0 & 0 & 0  \\
                                1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0
                                & 0 & 0 & 0 & 0 & 0  \\
                                0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1
                                & 0 & 0 & 0 & 0 & 0  \\
                                1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 0
                                & 1 & 1 & 0 & 1 & 0  \\
                                0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0
                                & 0 & 1 & 1 & 0 & 1
                            \end{array}
                        \right) \\[10mm]
                        \hspace*{50mm} %
                        \bm{s} \in \text{span} \mleft\{ \bm{\Omega} \mright\}
                    \end{gather*}
                }
            }
        \end{minipage}%
        \begin{minipage}{0.6\textwidth}
            \begin{figure}[H]
                \newcommand{\preperr}[1]{
                    \gate[style={fill=orange!20}]{\scriptstyle ##1}
                }
                \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}}

                \newcommand{\noise}{
                    \gate[style={noisy}]{\text{\small X}}%
                    \setwiretype{n}%
                    \wire[l][1]{q}
                }
                \newcommand{\redwire}[1]{
                    \wire[r][##1][style={draw=red, line width=2pt}]{q}
                }
                \newcommand{\redtarg}{
                    \targ[style={draw=red}]{}%
                    \setwiretype{n}%
                    \wire[l][1]{q}
                }
                \newcommand{\redctrl}[1]{
                    \ctrl[style={draw=red,fill=red,line width=2pt}]{##1}
                }
                \newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}}

                \tikzset{
                    noisy/.style={
                        starburst,
                        starburst point height=2.5mm,
                        fill=red!25, draw=red!85!black,
                        line width=2pt,
                        inner xsep=-2pt, inner ysep=-2pt
                    },
                }

                \centering

                % tex-fmt: off
                \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n,n,n}]
                                                    & \preperr{E_0}         & \ctrl{3} &           &          &          & \preperr{E_5}                   &                 & \ctrl{5} &           &          &          & \preperr{E_{10}}                &                 & \ctrl{7} &           &          &          &                  &          &                 \\
                    \lstick{$\ket{\psi}$}           & \preperr{E_1}         &          & \ctrl{2}  & \ctrl{3} &          & \preperr{E_6}                   &                 &          &  \ctrl{4} & \ctrl{5} &          & \preperr{E_{11}}                &                 &          & \ctrl{6}  & \ctrl{7} &          &                  &          &                 \\
                                                    & \preperr{E_2}         &          &           &          & \ctrl{2} & \preperr{E_7}                   &                 &          &           &          & \ctrl{4} & \preperr{E_{12}}                &                 &          &           &          & \ctrl{6} &                  &          &                 \\
                    \lstick{$\ket{0}_{\text{A}_1}$} &                       & \targ{}  & \targ{}   &          &          &                                 &                 &          &           &          &          &                                 &                 &          &           &          &          & \preperr{E_3}    & \meter{} & \setwiretype{c} \\
                    \lstick{$\ket{0}_{\text{A}_2}$} &                       &          &           & \targ{}  & \targ{}  &                                 &                 &          &           &          &          &                                 &                 &          &           &          &          & \preperr{E_4}    & \meter{} & \setwiretype{c} \\
                                                    &                       &          &           &          &          & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{}  &  \targ{}  &          &          &                                 &                 &          &           &          &          & \preperr{E_8}    & \meter{} & \setwiretype{c} \\
                                                    &                       &          &           &          &          & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} &          &           &  \targ{} & \targ{}  &                                 &                 &          &           &          &          & \preperr{E_9}    & \meter{} & \setwiretype{c} \\
                                                    &                       &          &           &          &          &                                 &                 &          &           &          &          & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \targ{}  &  \targ{}  &          &          & \preperr{E_{13}} & \meter{} & \setwiretype{c} \\
                                                    &                       &          &           &          &          &                                 &                 &          &           &          &          & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} &          &           &  \targ{} & \targ{}  & \preperr{E_{14}} & \meter{} & \setwiretype{c}
                \end{quantikz}
                % tex-fmt: on
            \end{figure}
        \end{minipage}
    }
    \only<2>{
        \begin{minipage}{0.4\textwidth}
            \centering

            \vspace*{40mm}
            \hspace*{-75mm}
            \scalebox{0.85}{
                \parbox{.5\linewidth}{%
                    \begin{gather*}
                        \hspace*{58.25mm}%
                        \begin{array}{c}
                            E_5 \\
                            \downarrow
                        \end{array}
                    \end{gather*}
                    \vspace*{-10mm}
                    \begin{gather*}
                        \bm{\Omega} =
                        \left(
                            \begin{array}{
                                    ccccc%
                                    >{\columncolor{red!20}}c%
                                    ccccccccc
                                }
                                1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0
                                & 0 & 0 & 0 & 0 & 0  \\
                                0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0
                                & 0 & 0 & 0 & 0 & 0  \\
                                1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0
                                & 0 & 0 & 0 & 0 & 0  \\
                                0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1
                                & 0 & 0 & 0 & 0 & 0  \\
                                1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 0
                                & 1 & 1 & 0 & 1 & 0  \\
                                0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0
                                & 0 & 1 & 1 & 0 & 1
                            \end{array}
                        \right) \\[10mm]
                        \hspace*{50mm} %
                        \bm{s} \in \text{span} \mleft\{ \bm{\Omega} \mright\}
                    \end{gather*}
                }
            }
        \end{minipage}%
        \begin{minipage}{0.6\textwidth}
            \begin{figure}[H]
                \newcommand{\preperr}[1]{
                    \gate[style={fill=orange!20}]{\scriptstyle ##1}
                }
                \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}}

                \newcommand{\noise}{
                    \gate[style={noisy}]{\text{\small X}}%
                    \setwiretype{n}%
                    \wire[l][1]{q}
                }
                \newcommand{\redwire}[1]{
                    \wire[r][##1][style={draw=red, line width=2pt}]{q}
                }
                \newcommand{\redtarg}{
                    \targ[style={draw=red}]{}%
                    \setwiretype{n}%
                    \wire[l][1]{q}
                }
                \newcommand{\redctrl}[1]{
                    \ctrl[style={draw=red,fill=red,line width=2pt}]{##1}
                }
                \newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}}

                \tikzset{
                    noisy/.style={
                        starburst,
                        starburst point height=2.5mm,
                        fill=red!25, draw=red!85!black,
                        line width=2pt,
                        inner xsep=-2pt, inner ysep=-2pt
                    },
                }

                \centering

                % tex-fmt: off
                \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n,n,n}]
                                                    & \preperr{E_0}         & \ctrl{3} &           &          &          & \noise\redwire{14}              &                 & \redctrl{5}          &           &          &          & \preperr{E_{10}}                &                 & \redctrl{7}         &           &          &          &                  &                                                                  &                 \\
                    \lstick{$\ket{\psi}$}           & \preperr{E_1}         &          & \ctrl{2}  & \ctrl{3} &          & \preperr{E_6}                   &                 &                      &  \ctrl{4} & \ctrl{5} &          & \preperr{E_{11}}                &                 &                     & \ctrl{6}  & \ctrl{7} &          &                  &                                                                  &                 \\
                                                    & \preperr{E_2}         &          &           &          & \ctrl{2} & \preperr{E_7}                   &                 &                      &           &          & \ctrl{4} & \preperr{E_{12}}                &                 &                     &           &          & \ctrl{6} &                  &                                                                  &                 \\
                    \lstick{$\ket{0}_{\text{A}_1}$} &                       & \targ{}  & \targ{}   &          &          &                                 &                 &                      &           &          &          &                                 &                 &                     &           &          &          & \preperr{E_3}    & \meter{}                                                         & \setwiretype{c} \\
                    \lstick{$\ket{0}_{\text{A}_2}$} &                       &          &           & \targ{}  & \targ{}  &                                 &                 &                      &           &          &          &                                 &                 &                     &           &          &          & \preperr{E_4}    & \meter{}                                                         & \setwiretype{c} \\
                                                    &                       &          &           &          &          & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \redtarg\redwire{11} &  \targ{}  &          &          &                                 &                 &                     &           &          &          & \preperr{E_8}    & \redmeter\wire[r][1][style={draw=red,double, line width=2pt}]{q} & \setwiretype{n} \\
                                                    &                       &          &           &          &          & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} &                      &           &  \targ{} & \targ{}  &                                 &                 &                     &           &          &          & \preperr{E_9}    & \meter{}                                                         & \setwiretype{c} \\
                                                    &                       &          &           &          &          &                                 &                 &                      &           &          &          & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \redtarg\redwire{5} &  \targ{}  &          &          & \preperr{E_{13}} & \redmeter\wire[r][1][style={draw=red,double, line width=2pt}]{q} & \setwiretype{n} \\
                                                    &                       &          &           &          &          &                                 &                 &                      &           &          &          & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} &                     &           &  \targ{} & \targ{}  & \preperr{E_{14}} & \meter{}                                                         & \setwiretype{c}
                \end{quantikz}
                % tex-fmt: on
            \end{figure}
        \end{minipage}
    }
    \only<3>{
        \begin{minipage}{0.4\textwidth}
            \centering

            \vspace*{40mm}
            \hspace*{-75mm}
            \scalebox{0.85}{
                \parbox{.5\linewidth}{%
                    \begin{gather*}
                        \hspace*{65.5mm}%
                        \begin{array}{c}
                            E_6 \\
                            \downarrow
                        \end{array}
                    \end{gather*}
                    \vspace*{-10mm}
                    \begin{gather*}
                        \bm{\Omega} =
                        \left(
                            \begin{array}{
                                    cccccc%
                                    >{\columncolor{red!20}}c%
                                    cccccccc
                                }
                                1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0
                                & 0 & 0 & 0 & 0 & 0  \\
                                0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0
                                & 0 & 0 & 0 & 0 & 0  \\
                                1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0
                                & 0 & 0 & 0 & 0 & 0  \\
                                0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1
                                & 0 & 0 & 0 & 0 & 0  \\
                                1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 0
                                & 1 & 1 & 0 & 1 & 0  \\
                                0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0
                                & 0 & 1 & 1 & 0 & 1
                            \end{array}
                        \right) \\[10mm]
                        \hspace*{50mm} %
                        \bm{s} \in \text{span} \mleft\{ \bm{\Omega} \mright\}
                    \end{gather*}
                }
            }
        \end{minipage}%
        \begin{minipage}{0.6\textwidth}
            \begin{figure}[H]
                \newcommand{\preperr}[1]{
                    \gate[style={fill=orange!20}]{\scriptstyle ##1}
                }
                \newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}}

                \newcommand{\noise}{
                    \gate[style={noisy}]{\text{\small X}}%
                    \setwiretype{n}%
                    \wire[l][1]{q}
                }
                \newcommand{\redwire}[1]{
                    \wire[r][##1][style={draw=red, line width=2pt}]{q}
                }
                \newcommand{\redtarg}{
                    \targ[style={draw=red}]{}%
                    \setwiretype{n}%
                    \wire[l][1]{q}
                }
                \newcommand{\redctrl}[1]{
                    \ctrl[style={draw=red,fill=red,line width=2pt}]{##1}
                }
                \newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}}

                \tikzset{
                    noisy/.style={
                        starburst,
                        starburst point height=2.5mm,
                        fill=red!25, draw=red!85!black,
                        line width=2pt,
                        inner xsep=-2pt, inner ysep=-2pt
                    },
                }

                \centering

                % tex-fmt: off
                \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={q,q,q,q,q,n,n,n,n}]
                                                    & \preperr{E_0}         & \ctrl{3} &           &          &          & \preperr{E_5}                   &                 & \ctrl{5} &                      &                     &          & \preperr{E_{10}}                &                 & \ctrl{7} &                     &                     &          &                  &                                                                  &                 \\
                    \lstick{$\ket{\psi}$}           & \preperr{E_1}         &          & \ctrl{2}  & \ctrl{3} &          & \noise\redwire{14}              &                 &          & \redctrl{4}          & \redctrl{5}         &          & \preperr{E_{11}}                &                 &          & \redctrl{6}         & \redctrl{7}         &          &                  &                                                                  &                 \\
                                                    & \preperr{E_2}         &          &           &          & \ctrl{2} & \preperr{E_7}                   &                 &          &                      &                     & \ctrl{4} & \preperr{E_{12}}                &                 &          &                     &                     & \ctrl{6} &                  &                                                                  &                 \\
                    \lstick{$\ket{0}_{\text{A}_1}$} &                       & \targ{}  & \targ{}   &          &          &                                 &                 &          &                      &                     &          &                                 &                 &          &                     &                     &          & \preperr{E_3}    & \meter{}                                                         & \setwiretype{c} \\
                    \lstick{$\ket{0}_{\text{A}_2}$} &                       &          &           & \targ{}  & \targ{}  &                                 &                 &          &                      &                     &          &                                 &                 &          &                     &                     &          & \preperr{E_4}    & \meter{}                                                         & \setwiretype{c} \\
                                                    &                       &          &           &          &          & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{}  & \redtarg\redwire{10} &                     &          &                                 &                 &          &                     &                     &          & \preperr{E_8}    & \redmeter\wire[r][1][style={draw=red,double, line width=2pt}]{q} & \setwiretype{n} \\
                                                    &                       &          &           &          &          & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} &          &                      & \redtarg\redwire{9} & \targ{}  &                                 &                 &          &                     &                     &          & \preperr{E_9}    & \redmeter\wire[r][1][style={draw=red,double, line width=2pt}]{q} & \setwiretype{n} \\
                                                    &                       &          &           &          &          &                                 &                 &          &                      &                     &          & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \targ{}  & \redtarg\redwire{4} &                     &          & \preperr{E_{13}} & \redmeter\wire[r][1][style={draw=red,double, line width=2pt}]{q} & \setwiretype{n} \\
                                                    &                       &          &           &          &          &                                 &                 &          &                      &                     &          & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} &          &                     & \redtarg\redwire{3} & \targ{}  & \preperr{E_{14}} & \redmeter\wire[r][1][style={draw=red,double, line width=2pt}]{q} & \setwiretype{n}
                \end{quantikz}
                % tex-fmt: on
            \end{figure}
        \end{minipage}
    }

    \vspace*{4mm}

    \addreferencesmanual
    {DTB$^+$25}{
        P.- J. H. S. Derks et al., ``Designing fault-tolerant
        circuits using detector error models,'' \emph{Quantum}, 2025.
    }
    \stopreferencesmanual
\end{frame}

% TODO: Journal not showing for derks_designing_2025
\begin{frame}[fragile]
    \frametitle{The Detector Error Matrix I}

    \vspace*{-14mm}

    \begin{itemize}
        \item Repetition of errors mitigated by XORing measurements
    \end{itemize}

    \begin{minipage}{0.4\textwidth}
        \begin{figure}[H]
            \newcommand{\redwire}[1]{
                \wire[r][#1][style={draw=red, line width=2pt, double}]{q}
            }
            \newcommand{\inwire}{
                \wire[l][1][style={draw=red, line width=2pt}]{q}
            }
            \newcommand{\redtarg}{
                \targ[style={draw=red,line width=2pt}]{}%
                \setwiretype{n}%
            }
            \newcommand{\redctrl}[1]{
                \ctrl[style={draw=red,fill=red, line width=2pt}]{0}%
                \wire[d][#1][style={draw=red, line width=2pt, double}]{q}
            }
            \newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}}
            \newcommand{\redgate}[1]{\gate[style={draw=red,fill=red!20}]{\textcolor{red}{#1}}}

            \centering

            \only<1>{
                \hspace*{-46mm}
                % tex-fmt: off
                \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={n,n,n,n,n,n}]
                    & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \\
                    & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \\
                    & \redmeter{}\inwire\redwire{1}        & \\
                    & \redmeter{}\inwire\redwire{1}        & \\
                    & \redmeter{}\inwire\redwire{1}        & \\
                    & \redmeter{}\inwire\redwire{1}        &
                \end{quantikz}
                % tex-fmt: on
            }
            \only<2->{
                % tex-fmt: off
                \begin{quantikz}[row sep=4mm, column sep=4mm, wire types={n,n,n,n,n,n}]
                    & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c}               &                           &             & \ctrl[vertical wire=c]{2} &                           & \gate{D_1} \\
                    & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c}               &                           &             &                           & \ctrl[vertical wire=c]{2} & \gate{D_2} \\
                    & \redmeter{}\inwire\redwire{6} &      & \redctrl{2}                   &                           & \targ{}     &                           & \redgate{D_3} \\
                    & \redmeter{}\inwire\redwire{6} &      &                               & \redctrl{2}               &             & \targ{}                   & \redgate{D_4} \\
                    & \redmeter{}\inwire\redwire{2} &      & \redtarg\wire[r][4]{c}        &                           &             &                           & \gate{D_5} \\
                    & \redmeter{}\inwire\redwire{3} &      &                               & \redtarg\wire[r][3]{c}    &             &                           & \gate{D_6}
                \end{quantikz}
                % tex-fmt: on
            }
        \end{figure}
    \end{minipage}%
    \begin{minipage}{0.6\textwidth}
        \newcommand\cc{\cellcolor{blue!20}}

        \visible<3->{
            \begin{align*}
                \bm{H} =
                % tex-fmt: off
                \left(\begin{array}{ccccccccccccccc}
                    1      & 1      & 0      & 1      & 0      & 0      & 0      & 0      & 0      & 0      & 0 & 0 & 0 & 0 & 0  \\
                    0      & 1      & 1      & 0      & 1      & 0      & 0      & 0      & 0      & 0      & 0 & 0 & 0 & 0 & 0  \\
                    \cc{0} & \cc{0} & \cc{0} & \cc{1} & \cc{0} & 1      & 1      & 0      & 1      & 0      & 0 & 0 & 0 & 0 & 0  \\
                    \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{1} & 0      & 1      & 1      & 0      & 1      & 0 & 0 & 0 & 0 & 0  \\
                    \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{1} & \cc{0} & 1 & 1 & 0 & 1 & 0  \\
                    \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{1} & 0 & 1 & 1 & 0 & 1
                \end{array}\right)
                % tex-fmt: on
            \end{align*}
        }
    \end{minipage}

    \vspace*{5mm}

    \visible<3->{
        \begin{itemize}
            \item A detector is a parity constraint on a set of
                measurement outcomes
            \item The \schlagwort{detector error matrix} $\bm{H}$ contains
                modified error patterns \citereferencemanual{DTB$^+$25}\
        \end{itemize}
    }

    \vspace*{10mm}

    \addreferencesmanual
    {DTB$^+$25}{
        P.- J. H. S. Derks et al., ``Designing fault-tolerant
        circuits using detector error models,'' \emph{Quantum}, 2025.
    }
    \stopreferencesmanual
\end{frame}

\begin{frame}
    \frametitle{The Detector Error Matrix II}

    \vspace*{-17mm}

    \begin{itemize}
        \item Visualization of general process
            % \red{Deal with 3-qubit state (somehow represent arbitrary
            % qubit state)}
    \end{itemize}

    \vspace*{2mm}

    \begin{figure}[H]
        \centering

        \tikzset{
            gate/.style={
                draw, %line width=1pt,
                minimum height=2cm,
            }
        }

        % tex-fmt: off
        \begin{quantikz}[row sep=2mm, column sep=4mm, wire types={q,q,q,n,n,n}]
                                  & \gate[3]{\text{SE}_1}          &                & \gate[3]{\text{SE}_2}                   &                & \gate[3]{\text{SE}_3}                   &                & \gate[3]{\text{SE}_4}                   &                            \\
            \lstick{$\ket{\psi}$} &                                &                &                                         &                &                                         &                &                                         & & \setwiretype{n} & \ldots \\
                                  & \wire[d][3]{c}                 &                & \wire[d][1]{c}                          &                & \wire[d][1]{c}                          &                & \wire[d][1]{c}                          &                            \\
                                  & \ctrl[wire=c]{0}\wire[r][1]{c} & \wire[d][1]{c} & \ctrl[vertical wire=c]{1}\wire[r][1]{c} & \wire[d][1]{c} & \ctrl[vertical wire=c]{1}\wire[r][1]{c} & \wire[d][1]{c} & \ctrl[vertical wire=c]{1}\wire[r][1]{c} &                            \\
                                  &                                & \wire[r][1]{c} & \targ{}\wire[d][1]{c}                   & \wire[r][1]{c} & \targ{}\wire[d][1]{c}                   & \wire[r][1]{c} & \targ{}\wire[d][1]{c}                   &                            \\
                                  & \gate[1]{\bm{D}_1}             &                & \gate[1]{\bm{D}_2}                      &                & \gate[1]{\bm{D}_3}                      &                & \gate[1]{\bm{D}_4}                      &                            \\
        \end{quantikz}
        % tex-fmt: on
    \end{figure}

    \begin{itemize}
        \item E.g., for \ac{bb} codes under circuit-level noise
            \citereferencemanual{GCR24}
    \end{itemize}

    \vspace*{-4mm}

    \begin{align*}
        \bm{H} =
        \begin{pmatrix}
            \bm{H}_0 & \bm{H}_1 & & & & & \\
            & \bm{H}_2 & \bm{H}_0 & \bm{H}_1 & & & \\
            & & & \bm{H}_2 & \bm{H}_0 & \bm{H}_1 & \\
            & & & & & \bm{H}_2 & \\
            & & & & & & & \ddots
        \end{pmatrix}
    \end{align*}

    \vspace*{5mm}

    \addreferencesmanual
    {GCR24}{A. Gong, S. Cammerer, and J. M. Renes, ``Toward
        Low-latency Iterative Decoding of QLDPC Codes Under
        Circuit-Level Noise,'', 2024.
    }
    \stopreferencesmanual
\end{frame}

\begin{frame}[fragile]
    \frametitle{Noise Model}

    % Related interesting stuff
    % - The difference between an n-qubit error and multiple
    %   simultaneous single-qubit errors is that in the n-qubit case,
    %   the errors can be correlated (e.g., XX more probable than XI)
    % - There is also work on using soft information at the
    %   measurement outputs (may translate to not-just-X-errors at the
    %   measurements)

    \vspace*{-12mm}

    \begin{itemize}
        \item The \schlagwort{noise model} assigns probabilities to
            error locations
    \end{itemize}

    \vspace*{1mm}

    \begin{minipage}{0.60\textwidth}
        \begin{itemize}
            \item Noise model types
                \begin{itemize}
                        \visible<1->{
                        \item The \schlagwort{depolarizing channel} considers
                            \citereferencemanual{NC10}
                            \begin{itemize}
                                \item $\X$, $\Y$ or $\Z$ errors on
                                    the data qubits
                            \end{itemize}
                        }
                        \visible<2->{
                        \item \schlagwort{Phenomenological noise} considers
                            \citereferencemanual{DTB$^+$25}
                            \begin{itemize}
                                \item $\X$ errors on data qubits before each \\
                                    measurement round
                                \item $\X$ errors on measurement outcomes
                            \end{itemize}
                        }
                        \visible<3->{
                        \item \schlagwort{Circuit-level noise} considers
                            \citereferencemanual{DTB$^+$25}
                            \begin{itemize}
                                \item $\X$, $\Y$ or $\Z$ errors after
                                    state preparation
                                \item $n$-qubit $\X$, $\Y$ or $\Z$ errors
                                    after any $n$-qubit gate
                                \item $\X$ errors on measurement outcomes
                            \end{itemize}
                        }
                \end{itemize}
        \end{itemize}
    \end{minipage}%
    \hfill%
    \begin{minipage}{0.39\textwidth}
        \begin{figure}[H]
            \newcommand{\xerr}{\gate[style={fill=kit-blue!50}]{\phantom{1}}}
            \newcommand{\xyzerr}{\gate[style={
                        draw=black,
                        fill=kit-red,
                        path picture={
                            \fill[kit-blue!60]
                            ($(path picture bounding box.south west)+(0,0)$) --
                            ($(path picture bounding box.north west)+(0,0)$) --
                            ($(path picture bounding box.north
                            west)+(0.34,0)$) -- cycle;
                            \fill[kit-orange!60]
                            ($(path picture bounding box.north east)+(0,0)$) --
                            ($(path picture bounding box.south east)+(0,0)$) --
                            ($(path picture bounding box.south
                            east)+(-0.34,0)$) -- cycle;
                            \fill[kit-red!60]
                            ($(path picture bounding box.north east)+(0,0)$) --
                            ($(path picture bounding box.south
                            east)+(-0.34,0)$) --
                            ($(path picture bounding box.south west)+(0,0)$) --
                            ($(path picture bounding box.north
                            west)+(0.34,0)$) -- cycle;
                        }
            }]{\phantom{1}}}

            \hspace*{-18mm}
            \only<1>{
                % tex-fmt: off
                \begin{quantikz}[row sep=4mm, column sep=4mm]
                                                    & \xyzerr & \ctrl{3} &            &          &           &           &                 \\
                    \lstick{$\ket{\psi}$}           & \xyzerr &          & \ctrl{2}   & \ctrl{3} &           &           &                 \\
                                                    & \xyzerr &          &            &          & \ctrl{2}  &           &                 \\
                    \lstick{$\ket{0}_{\text{A}_1}$} &         & \targ{}  & \targ{}    &          &           &  \meter{} & \setwiretype{c} \\
                    \lstick{$\ket{0}_{\text{A}_2}$} &         &          &            & \targ{}  & \targ{}   &  \meter{} & \setwiretype{c}
                \end{quantikz}
                % tex-fmt: on
            }
            \only<2>{
                % tex-fmt: off
                \begin{quantikz}[row sep=4mm, column sep=4mm]
                                                    & \xerr & \ctrl{3} &           &          &          &       &           &                 \\
                    \lstick{$\ket{\psi}$}           & \xerr &          & \ctrl{2}  & \ctrl{3} &          &       &           &                 \\
                                                    & \xerr &          &           &          & \ctrl{2} &       &           &                 \\
                    \lstick{$\ket{0}_{\text{A}_1}$} &       & \targ{}  & \targ{}   &          &          & \xerr &  \meter{} & \setwiretype{c} \\
                    \lstick{$\ket{0}_{\text{A}_2}$} &       &          &           & \targ{}  & \targ{}  & \xerr &  \meter{} & \setwiretype{c}
                \end{quantikz}
                % tex-fmt: on
            }
            \only<3>{
                % tex-fmt: off
                \begin{quantikz}[row sep=4mm, column sep=2mm]
                                                    & \xyzerr & \ctrl{3} & \xyzerr \wire[d][3]{q} &           &                        &          &                        &          &                        &       &           &                 \\
                    \lstick{$\ket{\psi}$}           & \xyzerr &          &                        & \ctrl{2}  & \xyzerr \wire[d][2]{q} & \ctrl{3} & \xyzerr \wire[d][3]{q} &          &                        &       &           &                 \\
                                                    & \xyzerr &          &                        &           &                        &          &                        & \ctrl{2} & \xyzerr \wire[d][2]{q} &       &           &                 \\
                    \lstick{$\ket{0}_{\text{A}_1}$} & \xyzerr & \targ{}  & \xyzerr                & \targ{}   & \xyzerr                &          &                        &          &                        & \xerr &  \meter{} & \setwiretype{c} \\
                    \lstick{$\ket{0}_{\text{A}_2}$} & \xyzerr &          &                        &           &                        & \targ{}  & \xyzerr                & \targ{}  & \xyzerr                & \xerr &  \meter{} & \setwiretype{c}
                \end{quantikz}
                % tex-fmt: on
            }
        \end{figure}
    \end{minipage}

    \vspace*{12mm}

    \addreferencesmanual
    {NC10}{
        M. A. Nielsen and I. L. Chuang, ``Quantum Computation and
        Quantum Information'', \emph{Cambridge University Press}, 2010.
    }
    {DTB$^+$25}{
        P.- J. H. S. Derks et al., ``Designing fault-tolerant
        circuits using detector error models,'' \emph{Quantum}, 2025.
    }
    \stopreferencesmanual
\end{frame}

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

    % Related interesting stuff
    % - Roffe et al. use the min-sum variant of BP.
    % - Babar et al. use the SPA
    % - A lot of publications use Roffe's ldpc package -> min-sum

    \vspace*{-10mm}

    \begin{itemize}
        \item A \schlagwort{\acl{dem}} (DEM) combines a detector error
            matrix and a noise model
            \visible<2->{
            \item Tanner graph of detector error matrix of \ac{bb} code
                \citereferencemanual{KSW$^+$25}
            }
    \end{itemize}

    \vspace*{5mm}

    \visible<2->{
        \begin{figure}[H]
            \centering

            \includegraphics[scale=5,angle=90]{res/stergios_tanner_graph}
        \end{figure}
    }

    \visible<3->{
        \begin{itemize}
            \item Challenges
                \begin{itemize}
                    \item Repeated syndrome measurements lead to
                        increased decoding complexity
                        \citereferencemanual{GCR24}
                    \item Degeneracy and short cycles lead to degraded
                        performance of \ac{bp}
                        \citereferencemanual{BBA$^+$15}
                \end{itemize}
        \end{itemize}
    }

    \vspace*{15mm}

    \addreferencesmanual
    {KSW$^+$25}{
        S. Koutsioumpas et al., ``Automorphism Ensemble Decoding of
        Quantum LDPC Codes,'' \emph{arXiv:2503.01738}, 2025.
    }
    {GCR24}{
        A. Gong, S. Cammerer, and J. M. Renes, ``Toward
        Low-latency Iterative Decoding of QLDPC Codes Under
        Circuit-Level Noise,'' 2024.
    }
    {BBA$^+$15}{
        Z. Babar et al., ``Fifteen Years of
        Quantum LDPC Coding and Improved Decoding Strategies,''
        \emph{IEEE Access}, 2015.
    }
    \stopreferencesmanual
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Research Gap}
\label{sec:Research Gap}

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

% TODO: Mention somewhere that we are particularly interested in QLDPC codes
\begin{frame}
    \frametitle{Addressing the Challenges}

    \vspace*{-14mm}

    \begin{itemize}
        \item Decoding complexity addressed with window-based approaches
            \begin{itemize}
                \item Parallel decoding \citereferencemanual{SBB$^+$23}
                \item Sliding windows
                    \citereferencemanual{HP23}
                    \citereferencemanual{GCR24}
            \end{itemize}
            \visible<2>{
            \item Degraded \ac{bp} performance addressed with
                modification or extension
                \begin{itemize}
                    \item \Ac{osd} post-processing
                        \citereferencemanual{RWB$^+$20}
                    \item Guided decimation \citereferencemanual{GCR24}
                    \item Neural approaches
                        \citereferencemanual{KL22}
                        \citereferencemanual{MSL$^+$25}
                    \item Ensemble decoding
                        \citereferencemanual{KSW$^+$25}
                \end{itemize}
            }
    \end{itemize}

    \vspace*{15mm}

    \addreferencesmanual
    {SBB$^+$23}{
        L. Skoric et al., ``Parallel window decoding enables scalable
        fault tolerant quantum computation,'' \emph{Nature
        Communications}, 2023.
    }
    {HP23}{
        S. Huang and S. Puri, ``Improved Noisy Syndrome Decoding of
        Quantum LDPC Codes with Sliding Window,'' \emph{arXiv:2311.03307}, 2023.
    }
    {GCR24}{
        A. Gong, S. Cammerer, and J. M. Renes, ``Toward
        Low-latency Iterative Decoding of QLDPC Codes Under
        Circuit-Level Noise,'' 2024.
    }
    {RWB$^+$20}{
        J. Roffe, et al., ``Decoding across the quantum low-density
        parity-check code landscape,'' \emph{Physical Review}, 2020.
    }
    {KL22}{
        K.- Y. Kuo and C.- Y. Lai, ``Exploiting degeneracy in belief
        propagation decoding of quantum codes,'' \emph{npj Quantum
        Information}, 2022.
    }
    {MSL$^+$25}{
        S. Miao et al., ``Quaternary Neural Belief Propagation
        Decoding of Quantum LDPC Codes with Overcomplete
        Check Matrices'', \emph{IEEE Access}, 2025.
    }
    {KSW$^+$25}{
        S. Koutsioumpas et al., ``Automorphism Ensemble Decoding of
        Quantum LDPC Codes,'' \emph{arXiv:2503.01738}, 2025.
    }
    \stopreferencesmanual
\end{frame}

% TODO: Understand update equation for s_2'
\begin{frame}[fragile]
    \frametitle{Sliding-Window Decoding}

    \vspace*{-12mm}

    \begin{itemize}
        \item Approach taken in \citereferencemanual{GCR24}
            resembles \acf{scldpc} code
        \item They try \ac{bp} + \ac{osd} and a modification of
            \ac{bp} with guided decimation
    \end{itemize}

    \vspace*{5mm}

    \begin{figure}
        \begin{subfigure}[b]{0.5\textwidth}
            \newcommand{\pz}{\phantom{\bm{0}}}
            \[
                \left(
                    \hspace*{-4mm}
                    \begin{tikzpicture}[baseline=(m.center)]
                        \matrix (m)[
                            matrix of math nodes,
                            nodes in empty cells,
                            column sep={14mm,between origins},
                            row sep={10mm,between origins},
                        ] {
                            % tex-fmt: off
                            \bm{H}_0       & \bm{H}_1 & \pz       & \pz      & \pz      & \pz      & \pz      & \pz    \\
                            \pz & \bm{H}_2 & \bm{H}_0 & \bm{H}_1  & \pz      & \pz      & \pz      & \pz      & \pz    \\
                            \pz & \pz      & \pz      & \bm{H}_2  & \bm{H}_0 & \bm{H}_1 & \pz      & \pz      & \pz    \\
                            \pz & \pz      & \pz      & \pz       & \pz      & \bm{H}_2 & \bm{H}_0 & \bm{H}_1 & \pz    \\
                            \pz & \pz      & \pz      & \pz       & \pz      & \pz      & \pz      & \pz      & \ddots \\
                            % tex-fmt: on
                        } ;

                        \draw[kit-red, line width=2pt]
                        ($(m-3-1.south west) + (-0.1,-0.1)$)
                        rectangle
                        ($(m-1-6.north east) + (0.1,0.1)$);

                        \draw[kit-orange, line width=2pt]
                        ($(m-4-3.south west) + (-0.1,-0.1)$)
                        rectangle
                        ($(m-2-8.north east) + (0.1,0.1)$);

                        \draw[kit-blue, line width=2pt]
                        ($(m-5-5.south west) + (-0.1,-0.1)$)
                        rectangle
                        ($(m-3-9.north east) + (0.1,0.1)$);

                        \draw[-{Latex},line width=2pt]
                        ($(m-1-6.north) + (0,0.8)$)
                        --
                        ($(m-3-9.north) + (0.5,0.8)$);
                    \end{tikzpicture}
                    \hspace*{-2mm}
                \right)
            \]

            \caption{Visualization of sliding window procedure}
        \end{subfigure}%
        \begin{subfigure}[b]{0.5\textwidth}
            \begin{gather*}
                \begin{pmatrix}
                    \bm{H}_0 & \bm{H}_1 & \bm{0}   & \bm{0}   &
                    \bm{0}   & \bm{0}  \\
                    \bm{0}   & \bm{H}_2 & \bm{H}_0 & \bm{H}_1 &
                    \bm{0}   & \bm{0}  \\
                    \bm{0}   & \bm{0}   & \bm{0}   & \bm{H}_2 &
                    \bm{H}_0 & \bm{H}_1
                \end{pmatrix}
                \begin{pmatrix}
                    \hat{\bm{e}}_0 \\
                    \vdots \\
                    \hat{\bm{e}}_5
                \end{pmatrix}
                =
                \begin{pmatrix}
                    \bm{s}_1 \\
                    \bm{s}_2 \\
                    \bm{s}_3
                \end{pmatrix} \\[5mm]
                \bm{s}_2' = \bm{s}_2 + \bm{H}_2 \hat{\bm{e}}_1
            \end{gather*}

            \vspace*{2mm}

            \caption{Equations for the decoding of the first window}
        \end{subfigure}%
    \end{figure}

    \visible<2->{
        \begin{itemize}
            \item However, no passing of soft information between windows
        \end{itemize}
    }

    \vspace*{10mm}

    \addreferencesmanual
    {GCR24}{
        A. Gong, S. Cammerer, and J. M. Renes, ``Toward
        Low-latency Iterative Decoding of QLDPC Codes Under
        Circuit-Level Noise,'' 2024.
    }
    \stopreferencesmanual
\end{frame}

%%%%%%%%%%%%%%%%
\subsection{Future Work}
\label{subsec:Future Work}

\begin{frame}
    \frametitle{Future Work}

    \vspace*{-15mm}

    \begin{itemize}
        \item Completed work
            \begin{itemize}
                \item Review literature on fault-tolerant \ac{qec}
                    using \acp{dem}
                \item Identify research gap
                \item Familiarize with software toolboxes
            \end{itemize}
            \vspace*{7mm}
        \item Research gap
            \begin{itemize}
                \item Existing literature into circuit-level noise
                    fails to properly consider \ac{scldpc}-like
                    structure
            \end{itemize}
            \vspace*{7mm}
            \visible<2->{
            \item Future directions
                \begin{itemize}
                    \item Adapt modified guided decimation decoder from
                        \citereferencemanual{GCR24} to pass soft
                        information
                    \item Investigate performance of different
                        modifications of \ac{bp} for "inner decoder"
                        (e.g., quaternary neural \ac{bp}
                        \citereferencemanual{MSL$^+$25})
                    \item \ldots
                \end{itemize}
            }
    \end{itemize}

    \vspace*{10mm}

    \addreferencesmanual
    {GCR24}{
        A. Gong, S. Cammerer, and J. M. Renes, ``Toward
        Low-latency Iterative Decoding of QLDPC Codes Under
        Circuit-Level Noise,'' 2024.
    }
    {MSL$^+$25}{
        S. Miao et al., ``Quaternary Neural Belief Propagation
        Decoding of Quantum LDPC Codes with Overcomplete
        Check Matrices'', \emph{IEEE Access}, 2025.
    }
    \stopreferencesmanual
\end{frame}

% TODO: Organize sections properly
%%%%%%%%%%%%%%%%
\section{Remarks on Evaluation}
\label{sec:Remarks on Evaluation}

%%%%%%%%%%%%%%%%
\subsection{Figures of Merit}
\label{subsec:Figures of Merit}

\begin{frame}
    \frametitle{Performance Evaluation}

    % - Gong et al. don't actually analyze the latency ->
    %   Benchmarking against other methods would be interesting

    % \item For circuit-level noise, use same
    % \schlagwort{physical error rate} for all error
    % locations \citereferencemanual{FSG09}

    \vspace*{-15mm}

    \begin{minipage}{0.35\textwidth}
        \only<1>{
            \begin{itemize}
                \item Independent variables
                    \begin{itemize}
                        \item Physical error rate
                        \item CNOT infidelity
                        \item Total qubit count
                        \item \ldots
                    \end{itemize}
            \end{itemize}
        }
        \only<2->{
            \begin{itemize}
                \item Independent variables
                    \begin{itemize}
                        \item \textbf{Physical error rate}
                        \item CNOT infidelity
                        \item \textbf{Total qubit count}
                        \item \ldots
                    \end{itemize}
            \end{itemize}
        }
    \end{minipage}%
    \begin{minipage}{0.65\textwidth}
        \begin{itemize}
                \only<1>{
                \item Noise models
                    \begin{itemize}
                        \item Standard circuit-based depolarizing noise
                            \citereferencemanual{FSG09}
                        \item Superconductor inspired (SI1000)
                            \citereferencemanual{GNF$^+$21}
                        \item Entangling Measurements (EM3)
                            \citereferencemanual{GNF$^+$21}
                        \item \ldots
                    \end{itemize}
                }
                \only<2->{
                \item Noise models
                    \begin{itemize}
                        \item \textbf{Standard circuit-based depolarizing noise}
                            \citereferencemanual{FSG09}
                        \item Superconductor inspired (SI1000)
                            \citereferencemanual{GNF$^+$21}
                        \item Entangling Measurements (EM3)
                            \citereferencemanual{GNF$^+$21}
                        \item \ldots
                    \end{itemize}
                }
        \end{itemize}
    \end{minipage}

    \vspace{5mm}

    \visible<3->{
        \begin{itemize}
            \item Degeneracy, information stored in correlations
                $\rightarrow$ Consider \schlagwort{\acl{ler}} (LER)
        \end{itemize}
    }
    \visible<4->{
        \begin{itemize}
            \item Types of benchmarking plots
        \end{itemize}

        \vspace*{5mm}

        \begin{figure}[H]
            \centering
            \begin{subfigure}{0.35\textwidth}
                \centering
                \begin{tikzpicture}
                    \begin{axis}[
                            domain=-5:5,
                            width=7cm,
                            height=5.5cm,
                            xticklabels=\empty,
                            yticklabels=\empty,
                            xlabel={Physical error rate},
                            xlabel style={yshift=5mm},
                            ylabel={LER},
                            ylabel style={yshift=-5mm},
                            grid,
                        ]

                        \addplot+[
                            mark=none,
                            kit-red,
                            line width=2pt,
                        ]
                        table[row sep=crcr] {
                            x y \\
                            1.134800559068837 0.5575221183357257 \\
                            2.0632737437615223 0.9764009116710485 \\
                            2.861072612292603 1.7787608707489788 \\
                            3.7551580964997053 2.8407080379684153 \\
                            4.264098875196703 3.513274267363004 \\
                            4.573589936760932 3.9911505302955272 \\
                            4.903713970055305 4.268436552233389 \\
                        };
                    \end{axis}
                \end{tikzpicture}
            \end{subfigure}%
            \begin{subfigure}{0.35\textwidth}
                \centering
                \begin{tikzpicture}
                    \begin{axis}[
                            domain=-5:5,
                            width=7cm,
                            height=5.5cm,
                            xticklabels=\empty,
                            yticklabels=\empty,
                            xlabel={Total qubit count},
                            xlabel style={yshift=5mm},
                            ylabel={LER},
                            ylabel style={yshift=-5mm},
                            grid,
                        ]

                        \addplot+[
                            mark=none,
                            kit-blue,
                            line width=2pt,
                        ]
                        table[row sep=crcr] {
                            x y \\
                            1.147643096789246 3.8430493581808607 \\
                            1.7245658892318043 2.762331811591747 \\
                            2.3573205843145306 2.3587443650766753 \\
                            2.9156332708646624 1.560537992857378 \\
                            3.6352360073136527 1.0403588210329737 \\
                            4.392060012189421 0.7130042787942606 \\
                        };
                    \end{axis}
                \end{tikzpicture}
            \end{subfigure}
        \end{figure}
    }

    \vspace*{4mm}

    \addreferencesmanual
    {FSG09}{
        A. G. Fowler, A. M. Stephens, and P. Groszkowski,
        ``High-threshold universal quantum computation on the surface
        code,'' \emph{Physical Review}, 2009.
    }
    {GNF$^+$21}{
        C. Gidney et al., ``A Fault-Tolerant Honeycomb Memory'',
        \emph{Quantum}, 2021.
    }
    \stopreferencesmanual
\end{frame}

%%%%%%%%%%%%%%%%
\subsection{Conclusion and Outlook}
\label{subsec:Conclusion and Outlook}

\begin{frame}
    \frametitle{Conclusion and Outlook}

    \vspace*{-10mm}

    \begin{minipage}[c]{0.65\textwidth}
        \begin{itemize}
            \item Problem setting
                \begin{itemize}
                    \item Research area: Decoder design for \acp{dem}
                        under circuit-level noise
                    \item Research gap: Consideration of \acp{dem} as
                        \ac{scldpc} codes
                \end{itemize}
                \vspace*{5mm}
            \item Future work
                \begin{itemize}
                    \item Modify existing decoder to pass soft information
                    \item Test different \ac{bp} variations
                    \item \ldots
                \end{itemize}
                \vspace*{5mm}
            \item Parameters
                \begin{itemize}
                    \item Use standard depolarizing noise for comparability
                    \item Compare performance with other \ac{bb} code decoders
                \end{itemize}
        \end{itemize}
    \end{minipage}%
    \begin{minipage}[c]{0.35\textwidth}
        \centering
        \pause
        \begin{figure}[H]
            \centering

            \vspace*{-25mm}
            \begin{tikzpicture}
                \node[scale=10] at (0, 0)
                {\textcolor{kit-blue}{{\fontfamily{phv}\selectfont ?}}};

                \node[align=center] at (0,-5) {Thank you for your
                attention! \\ Any questions?};
            \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*{-10mm}

    \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 \citereferencemanual{ZZC$^+$23}.}
        \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
            \citereferencemanual{MSL$^+$25}.}
        \end{subfigure}
    \end{figure}

    \vspace*{5mm}

    \addreferencesmanual
    {ZZC$^+$23}{
        F. Zhang et al., ``A Classical Architecture for Digital
        Quantum Computers,'' \emph{ACM Transactions on Quantum
        Computing}, 2023.
    }
    {MSL$^+$25}{
        S. Miao et al., ``Quaternary Neural Belief Propagation
        Decoding of Quantum LDPC Codes with Overcomplete
        Check Matrices'', \emph{IEEE Access}, 2025.
    }
    \stopreferencesmanual
\end{frame}

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

    \begin{minipage}{0.57\textwidth}
        \begin{itemize}
            \item BP guided decimation (BPGD) \\
                $\rightarrow$ Iteratively fix most reliable variable node (VN)
                \vspace*{10mm}
            \item \schlagwort{Guided decimation guessing} (GDG)
                \citereferencemanual{GCR24}
                \begin{itemize}
                    \item Choose VN with \schlagwort{lowest}
                        log-likelihood ratio
                    \item Choose VN to fix based on \schlagwort{LLR history}
                    \item Explore both VN values in parallel
                        (\schlagwort{guessing})
                \end{itemize}
        \end{itemize}
    \end{minipage}%
    \begin{minipage}{0.43\textwidth}
        \begin{figure}[H]
            \centering
            \includegraphics[scale=1.3]{res/gdg.pdf}
        \end{figure}
    \end{minipage}%

    \vspace*{30mm}

    \addreferencesmanual
    {GCR24}{
        A. Gong, S. Cammerer, and J. M. Renes, ``Toward
        Low-latency Iterative Decoding of QLDPC Codes Under
        Circuit-Level Noise,'' 2024.
    }
    \stopreferencesmanual
\end{frame}

\begin{frame}
    \frametitle{The Quantum Error Correcting Landscape}

    \vspace*{-10mm}

    \begin{itemize}
        \item Taxonomy of main QEC code families \citereferencemanual{SPG$^+$25}
    \end{itemize}

    \vspace*{2mm}

    \begin{figure}[H]
        \centering
        \includegraphics[scale=2.5]{res/taxonomy.pdf}
    \end{figure}

    \begin{itemize}
        \item Surface code is the industry standard for
            experimental implementations, but has poor encoding
            efficiency \citereferencemanual{BCG$^+$24}
        \item \Ac{qldpc} codes particularly interesting because of
            \begin{itemize}
                \item Constant overhead scaling \citereferencemanual{Got14}
                \item Linear distance scaling \citereferencemanual{BCG$^+$24}
            \end{itemize}
    \end{itemize}

    \vspace*{15mm}

    \addreferencesmanual
    {SPG$^+$25}{
        A. Swierkowska et al., ``ECCentric: An Empirical
        Analysis of Quantum Error Correction Codes'',
        \emph{arXiv:2511.01062v1}, 2025.
    }
    {BCG$^+$24}{
        S. Bravyi et al., ``High-threshold and low-overhead
        fault-tolerant quantum memory,'' \emph{Nature}, 2024.
    }
    {Got14}{
        D. Gottesman, ``Fault-Tolerant Quantum Computation with
        Constant Overhead'', \emph{arXiv:1310.2984}, 2014.
    }
    \stopreferencesendmanual
\end{frame}

% TODO: Is this really necessary?
% \begin{frame}
%     \frametitle{The Quantum Error Correction Landscape}
%
%     \begin{itemize}
%         \item \red{Give basic overview of most promising avenues of
%             research (as in \citereference{swierkowska_eccentric_2025})}
%     \end{itemize}
%
%     \vspace*{15mm}
%
%     \addreferences
%     {swierkowska_eccentric_2025}
%     \stopreferences
% \end{frame}

\backupend

\end{document}

