\documentclass[overviewatsection, showsubsectionsatfirstoverview]{CELbeamer} % % % CEL Template % % \newcommand{\templates}{preambles} \input{\templates/packages.tex} \input{\templates/macros.tex} \grouplogo{CEL_logo.pdf} \groupname{Communications Engineering Lab (CEL)} \fundinglogos{} % % % Document setup % % \usepackage{tikz} \usepackage{tikz-3dplot} \usetikzlibrary{spy, external, intersections, positioning} % \ifdefined\ishandout\else \tikzexternalize % \fi \usepackage{pgfplots} \pgfplotsset{compat=newest} \usepgfplotslibrary{fillbetween} \usepgfplotslibrary{groupplots} \usepackage{enumerate} \usepackage{listings} \usepackage{subcaption} \usepackage{bbm} \usepackage{multirow} \usepackage[table]{xcolor} \usepackage{amsmath} \usepackage{graphicx} \usepackage{calc} \usepackage{amssymb} \usepackage{acro} \usepackage{braket} % \usepackage{qcircuit} \usepackage{quantikz} \title{Fault Tolerant Quantum Error Correction} \subtitle{Master's Thesis Midterm Presentation} \author[Tsouchlos]{Andreas Tsouchlos} \date[]{February 5th, 2026} \DeclareFieldFormat{note}{} \DeclareFieldFormat{issn}{} \DeclareFieldFormat{url}{} \DeclareFieldFormat{doi}{} \DeclareFieldFormat[article,book,inproceedings]{urldate}{} \addbibresource{MA.bib} % % % Custom commands % % \newcommand{\red}[1]{\textcolor{red}{#1}} \newcommand{\res}{src/midterm_presentation/res} % % % Acronyms % % \DeclareAcronym{qec}{ short=QEC, long=quantum error correction } \DeclareAcronym{css}{ short=CSS, long=Calderbank Shor Steane } \DeclareAcronym{bb}{ short=BB, long=bivariate bicycle } \DeclareAcronym{dem}{ short=DEM, long=detector error model } \DeclareAcronym{bp}{ short=BP, long=belief propagation } % % % Document body % % \begin{document} \begin{frame}[title white vertical, picture=images/IMG_7801-cut] \titlepage \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Introduction to Quantum Error Correction} \label{sec:Introduction to Quantum Error Correction} %%%%%%%%%%%%%%%% \subsection{Motivation} \label{subsec:Motivation} \begin{frame} \frametitle{Quantum Computing} % Related interesting stuff % - Gidney estimates we need 1399 (?) logical qubits to factor a 2048 % bit RSA integer % - He goes on to estimate that to factor such an integer in less % than a week would require around a million physical qubits % [How to factor 2048 bit RSA integers with less than a million % noisy qubits] \vspace*{-15mm} \begin{itemize} \item Simulating quantum systems on classical hardware is exponentially complex \\ $\rightarrow$ Can't we use quantum hardware to simulate quantum systems? \citereference{feynman_simulating_1982} \item Some problems that are ``hard'' to solve on classical computers we can ``easily'' solve on quantum computers \citereference{preskill_quantum_2018} \end{itemize} \vspace*{-5mm} \begin{figure}[H] \centering \includegraphics[scale=0.43]{res/google_roadmap.png} \vspace*{-3mm} \caption{ Google Quantum AI's quantum computing roadmap \citereference{google_quantum_ai_quantum_nodate}. } \end{figure} \vspace*{3mm} \addreferences {feynman_simulating_1982} {preskill_quantum_2018} {google_quantum_ai_quantum_nodate} \stopreferences \end{frame} % TODO: Where should I quote Preskill? There are multiple bullet % points with info taken from his work \begin{frame} \frametitle{The Need for Quantum Error Correction} \vspace*{-17mm} % Related interesting stuff % - Qubits differ from bits in that they can be in superpositions % and be entangled with one another % - Quantum computers derive their strenght from the exponential % scaling of the state-space because of the way the information is % encoded % - Note that while a physical error rate of 10^{-3} may seem ok, % we need a couple trillion operations (~ 10^{13}) to factor a % 2048 bit RSA integer % [How to factor 2048 bit RSA integers with less than a million % noisy qubits] % - The "physical error rate" is really the value all error rates % in the system are set to for circuit level noise simulations % [High-threshold universal quantum computation on the surface code] % - The backlog problem is the fact that an increasing backlog of % syndrome data will lead to an exponential slowdown during the % computation \begin{itemize} \item Quantum computers represent information through correlations of qubits, not their values \\ directly \citereference{preskill_quantum_2018} \item Errors during quantum computation are inevitable because quantum systems are fragile \item We want to interact with the quantum state but not disturb it \item We employ more physical qubits to introduce redundancy and use the resulting \emph{physical} state to represent the \emph{logical} state \citereference{roffe_quantum_2019} \vspace*{8mm} \item Typical scales \begin{itemize} \item IBM recently introduced a scheme encoding $12$ logical qubits in $288$ physical ones \citereference{bravyi_high-threshold_2024} \item The physical error rate is typically assumed to be $10^{-3}$ for simulations (e.g., \citereference{bravyi_high-threshold_2024}) \item Decoding has to happen with ultra-low latency to avoid the backlog problem (about $\SI{1}{us}$ per data extraction round) \citereference{caune_demonstrating_2024} % \citereference{terhal_quantum_2015} \end{itemize} \end{itemize} \vspace*{7mm} \addreferences % {terhal_quantum_2015} {preskill_quantum_2018} {roffe_quantum_2019} {bravyi_high-threshold_2024} {caune_demonstrating_2024} \stopreferences \end{frame} %%%%%%%%%%%%%%%% \subsection{Fundamentals of Quantum Error Correction} \label{subsec:Fundamentals of Quantum Error Correction} % TODO: Is this all of this really necessary? \begin{frame} \frametitle{Peculiarities of the Quantum Setting} \vspace*{-18mm} % 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 Similar to bits and gates, quantum systems are built on top of qubits and quantum gates \item We have to consider phase flip errors in addition to bit flip errors \citereference{roffe_quantum_2019} \end{itemize} \vspace*{-3mm} \begin{figure}[H] \centering \begin{subfigure}{0.32\textwidth} \centering \begin{align*} \ket{0} &\rightarrow \ket{1} \\ \ket{1} &\rightarrow \ket{0} \end{align*} \caption{Bit flip (X) error} \end{subfigure}% \begin{subfigure}{0.32\textwidth} \centering \begin{align*} \ket{0} &\rightarrow \phantom{-}\ket{0} \\ \ket{1} &\rightarrow -\ket{1} \end{align*} \caption{Phase flip (Z) error} \end{subfigure}% \begin{subfigure}{0.32\textwidth} \centering \begin{align*} \ket{0} &\rightarrow \phantom{-j}\ket{1} \\ \ket{1} &\rightarrow -j\ket{0} \end{align*} \caption{Y error: Combination of X and Z} \end{subfigure} \end{figure} \vspace*{-3mm} \begin{itemize} \item Measuring the qubits directly destroys superpositions and entanglement \\ $\rightarrow$ We generally only work with the syndrome, which we can measure \citereference{nielsen_quantum_2010} \item Sometimes superposition permits multiple equivalent solutions to the decoding problem (\emph{quantum degeneracy}) \citereference{roffe_decoding_2020} \end{itemize} \vspace*{7mm} \addreferences {nielsen_quantum_2010} {roffe_quantum_2019} {roffe_decoding_2020} \stopreferences \end{frame} \begin{frame} \frametitle{Stabilizer and Calderbank Shor Steane Codes} \vspace*{-5mm} % Related interesting stuff % - Using stabilizers to describe quantum codes is a bit like % using parity check equations to describe classical codes % -> stabilizer codes are the quantum analog of binary linear codes % - For CSS codes, "the parity checks for the X errors and the % parity checks for the Z errors can be represented independently % of one another" \begin{itemize} \item Stabilizer codes \citereference{nielsen_quantum_2010} \begin{itemize} \item The code space can implicitly be defined using \emph{stabilizer generators} \item We can represent them using parity check matrices \item Quantum analog of linear codes \end{itemize} \vspace*{10mm} \item \Ac{css} codes \citereference{nielsen_quantum_2010} \begin{itemize} \item Subset of stabilizer codes \item Can correct X and Z errors independently \item Described using two separate parity check matrices $\bm{H}_\text{X}$ and $\bm{H}_\text{Z}$ \item Can be constructed from two binary linear codes $\mathcal{C}_1 \left[ n, k_1 \right]$ and $\mathcal{C}_2 \left[ n, k_2 \right]$ with $\mathcal{C}_2 \subset \mathcal{C}_1$ \end{itemize} \end{itemize} \vspace*{20mm} \addreferences {nielsen_quantum_2010} \stopreferences \end{frame} % TODO: Do I need to show what the syndrome extraction circuitry for % Z errors looks like? \begin{frame} \frametitle{Syndrome Extraction Circuits} \vspace*{-16mm} \begin{itemize} \item We entangle the state with \emph{ancilla qubits} to perform syndrome measurements \citereference{nielsen_quantum_2010} \item \red{Do I need to show what the syndrome extraction circuitry for Z errors looks like?} \item Example: The 3-qubit repetition code% \footnote { Note that, for simplicity, this chosen example is a code that is only able to correct X errors (bit flips) } % \end{itemize} \vspace*{-10mm} \begin{align*} \bm{H} = \begin{pmatrix} 1 & 1 & 0 \\ 0 & 1 & 1 \end{pmatrix} \end{align*} \vspace*{5mm} \begin{figure}[H] % \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{} \\ \lstick{$\ket{0}_{\text{A}_2}$} & & & \targ{} & \targ{} & \meter{} \end{quantikz} % tex-fmt: on % \caption{Circuit-level noise model for the 3-qubit repetition code} \end{figure} % \vspace*{5mm} \vspace*{-2mm} \addreferences {nielsen_quantum_2010} \stopreferences \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Fault Tolerance and Detector Error Models} \label{sec:Fault Tolerance and Detector Error Models} %%%%%%%%%%%%%%%% \subsection{Fault Tolerance} \label{subsec:Fault Tolerance} % TODO: Fix journal for {shor_fault-tolerant_1997} not showing \begin{frame} \frametitle{Fault Tolerance} \vspace*{-15mm} \begin{itemize} \item The quantum gates we use for syndrome extraction are faulty themselves \\ $\rightarrow$ We need \emph{fault-tolerant} \ac{qec} \item A \ac{qec} procedure is said to be fault tolerant if, in addition to correcting \emph{input errors}, the spread of \emph{internal errors} is sufficiently limited \citereference{derks_designing_2025} \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=blue!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=red!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} \item We have to modify the syndrome extraction circuitry to be fault tolerant (e.g., by using specially prepared multi-qubit states for each ancilla \citereference{shor_fault-tolerant_1997}) \item We generally perform multiple rounds of syndrome extraction \end{itemize} \vspace*{10mm} \addreferences {shor_fault-tolerant_1997} {derks_designing_2025} \stopreferences \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 Each column of the \emph{measurement syndrome matrix} $\bm{\Omega}$ corresponds to a measurement pattern an error produces \citereference{derks_designing_2025} \item Example: 3-qubit repetition code \\ (Only bit flips on data qubits) \end{itemize} \vspace*{-28mm} \centering \only<1>{ \begin{minipage}{0.4\textwidth} \centering \begin{align*} \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) \end{align*} \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}}} \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} & & & & & & \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{} \\ \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & & & & & & & \meter{} \\ & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \targ{} & & & & & & & & & \meter{} \\ & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & & & & & & & \meter{} \\ & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \targ{} & \targ{} & & & \meter{} \\ & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} & & & \targ{} & \targ{} & \meter{} \end{quantikz} % tex-fmt: on \end{figure} \end{minipage} } \only<2>{ \begin{minipage}{0.4\textwidth} \centering \begin{align*} \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) \end{align*} \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}] & \noise\redwire{17} & \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 \\ \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & & & & & & & \meter{} \\ & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \redtarg\redwire{10} & \targ{} & & & & & & & & & \redmeter \\ & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & & & & & & & \meter{} \\ & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \redtarg\redwire{4} & \targ{} & & & \redmeter \\ & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} & & & \targ{} & \targ{} & \meter{} \end{quantikz} % tex-fmt: on \end{figure} \end{minipage} } \vspace*{2mm} \addreferences {derks_designing_2025} \stopreferences \end{frame} \begin{frame}[fragile] \frametitle{The Measurement Syndromemani Matrix II} \vspace*{-18mm} \begin{itemize} \item Each column of the \emph{measurement syndrome matrix} $\bm{\Omega}$ corresponds to a measurement pattern an error produces \citereference{derks_designing_2025} \item Example: 3-qubit repetition code \\ (Phenomenological noise \citereference{derks_designing_2025}) \end{itemize} \vspace*{-28mm} \centering \only<1>{ \begin{minipage}{0.4\textwidth} \centering \scalebox{0.85}{ \parbox{.5\linewidth}{% \begin{align*} \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) \end{align*} } } \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{} \\ \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & & & & & & & \preperr{E_4} & \meter{} \\ & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \targ{} & & & & & & & & & \preperr{E_8} & \meter{} \\ & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & & & & & & & \preperr{E_9} & \meter{} \\ & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \targ{} & \targ{} & & & \preperr{E_{13}} & \meter{} \\ & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} & & & \targ{} & \targ{} & \preperr{E_{14}} & \meter{} \end{quantikz} % tex-fmt: on \end{figure} \end{minipage} } \only<2>{ \begin{minipage}{0.4\textwidth} \centering \newcommand{\pz}{\phantom{0}} \scalebox{0.85}{ \parbox{.5\linewidth}{% \begin{align*} \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) \end{align*} } } \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{13} & & \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{} \\ \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & & & & & & & \preperr{E_4} & \meter{} \\ & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \redtarg\redwire{11} & \targ{} & & & & & & & & & \preperr{E_8} & \redmeter \\ & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & & & & & & & \preperr{E_9} & \meter{} \\ & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \redtarg\redwire{5} & \targ{} & & & \preperr{E_{13}} & \redmeter \\ & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} & & & \targ{} & \targ{} & \preperr{E_{14}} & \meter{} \end{quantikz} % tex-fmt: on \end{figure} \end{minipage} } \only<3>{ \begin{minipage}{0.4\textwidth} \centering \newcommand{\pz}{\phantom{0}} \scalebox{0.85}{ \parbox{.5\linewidth}{% \begin{align*} \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) \end{align*} } } \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{13} & & & \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{} \\ \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & & & & & & & \preperr{E_4} & \meter{} \\ & & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \redtarg\redwire{10} & & & & & & & & & \preperr{E_8} & \redmeter \\ & & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \redtarg\redwire{9} & \targ{} & & & & & & & \preperr{E_9} & \redmeter \\ & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \targ{} & \redtarg\redwire{4} & & & \preperr{E_{13}} & \redmeter \\ & & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} & & & \redtarg\redwire{3} & \targ{} & \preperr{E_{14}} & \redmeter \end{quantikz} % tex-fmt: on \end{figure} \end{minipage} } \vspace*{2mm} \addreferences {derks_designing_2025} \stopreferences \end{frame} % TODO: Journal not showing for derks_designing_2025 \begin{frame} \frametitle{The Detector Error Matrix I} \vspace*{-17mm} \begin{itemize} \item A detector is a parity constraint on a set of measurement outcomes \citereference{derks_designing_2025} \item Each column of the \emph{detector error matrix} $\bm{H}$ corresponds to a detector pattern an error produces \item We can mitigate the propagation of errors into subsequent rounds by XORing the measurements, i.e., defining detectors appropriately; this is equivalent to row additions \end{itemize} \begin{minipage}{0.5\textwidth} \begin{figure}[H] \centering % 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} \\ & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & \ctrl[vertical wire=c]{2} & & \targ{} & & \gate{D_3} \\ & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & & \ctrl[vertical wire=c]{2} & & \targ{} & \gate{D_4} \\ & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & \targ{} & & & & \gate{D_5} \\ & \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & & \targ{} & & & \gate{D_6} \end{quantikz} % tex-fmt: on \end{figure} \end{minipage}% \begin{minipage}{0.5\textwidth} \newcommand\cc{\cellcolor{blue!20}} \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} \addreferences {derks_designing_2025} \stopreferences \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*{5mm} \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]{SE_1} & & \gate[3]{SE_2} & & \gate[3]{SE_3} & & \gate[3]{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, the resulting detector error matrix under circuit-level noise has the form \citereference{gong_toward_2024} \end{itemize} \vspace*{-15mm} \begin{align*} \bm{H} = \begin{pmatrix} \bm{H}_0 & \bm{H}_1 & \bm{0} & \bm{0} & \bm{0} & \bm{0} & \cdots \\ \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 & \\ \bm{0} & \bm{0} & \bm{0} & \bm{0} & \bm{0} & \bm{H}_2 & \\ \vdots & & & & & & \ddots \end{pmatrix} \end{align*} \vspace*{3mm} \addreferences {gong_toward_2024} \stopreferences \end{frame} \begin{frame}[fragile] \frametitle{Noise Model Types} % 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) \vspace*{-15mm} \begin{itemize} \item The noise model assigns a likelihood to the occurrence of each error \end{itemize} \vspace*{7mm} \begin{minipage}{0.60\textwidth} \begin{itemize} \item The \emph{depolarizing channel} considers \citereference{nielsen_quantum_2010} \begin{itemize} \item X, Y or Z errors on the data qubits \end{itemize} \item \emph{Phenomenological noise} considers \citereference{derks_designing_2025} \begin{itemize} \item X errors on data qubits before each \\ measurement round \item X errors on measurement outcomes \end{itemize} \item \emph{Circuit-level noise} considers \citereference{derks_designing_2025} \begin{itemize} \item \colorbox{orange!20}{X, Y or Z errors after state preparation} \item \colorbox{red!20}{$n$-qubit X, Y or Z errors after any $n$-qubit gate} \item \colorbox{blue!20}{X errors on measurement outcomes} \end{itemize} \end{itemize} \end{minipage}% \hfill% \begin{minipage}{0.39\textwidth} \begin{figure}[H] \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}}} \hspace*{-18mm} % tex-fmt: off \begin{quantikz}[row sep=2mm, column sep=2mm] & \preperr & \ctrl{3} & \gateerr \wire[d][3]{q} & & & & & & & & & \\ \lstick{$\ket{\psi}$} & \preperr & & & \ctrl{2} & \gateerr \wire[d][2]{q} & \ctrl{3} & \gateerr \wire[d][3]{q} & & & & & \\ & \preperr & & & & & & & \ctrl{2} & \gateerr \wire[d][2]{q} & & & \\ \lstick{$\ket{0}_{\text{A}_1}$} & \preperr & \targ{} & \gateerr & \targ{} & \gateerr & & & & & \measerr & \meter{} \\ \lstick{$\ket{0}_{\text{A}_2}$} & \preperr & & & & & \targ{} & \gateerr & \targ{} & \gateerr & \measerr & \meter{} \end{quantikz} % tex-fmt: on \caption{Circuit-level noise model for the 3-qubit repetition code (for X errors)} \end{figure} \end{minipage} \vspace*{10mm} \addreferences {nielsen_quantum_2010} {derks_designing_2025} \stopreferences \end{frame} \begin{frame} \frametitle{Decoding using Detector Error Models} \begin{itemize} \item A \ac{dem} combines a detector error matrix and a noise model \item The likelihoods of different error locations can be used as priors for decoding \vspace*{5mm} \item Challenges \begin{itemize} \item Repeated syndrome measurements come with increased decoding complexity \citereference{gong_toward_2024} \item Degeneracy and short cycles lead to degraded performance of \ac{bp} \citereference{babar_fifteen_2015} \end{itemize} \end{itemize} \vspace*{20mm} \addreferences {babar_fifteen_2015} {gong_toward_2024} \stopreferences{} \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{State of the Art and Research Gap} \label{sec:State of the Art and Research Gap} %%%%%%%%%%%%%%%% \subsection{State of the Art} \label{subsec:State of the Art} \begin{frame} \frametitle{Sliding Window Decoding} \begin{itemize} % TODO: Do I have to explain BP? \item \red{Do I have to explain BP} \item Give overview of existing research \item Explain exactly what they do in the main paper I am basing my work on \item \red{$\rightarrow$ We generally don't use "normal BP" (BP + OSD, BPGD, etc.)} \end{itemize} \end{frame} \begin{frame} \frametitle{Guided Decimation Guessing Decoding} \begin{itemize} \item Update equations \item Key ideas \item Syndrome Based BP \end{itemize} \end{frame} \begin{frame} \frametitle{Memory experiments} \begin{itemize} \item What is a memory experiment? \item Communications Engineering view (what are my inputs and outpus? What do I expect?) \end{itemize} \end{frame} \begin{frame} \frametitle{Systemic overview} \begin{itemize} \item Top level overview of entire system: X and Z syndrome extraction, logical operator measurement, where decoding takes place, etc. (fig. 3 of \citereference{derks_designing_2025}) \item For circuit-level noise, often, all error probabilities are set to the same value for simulations \citereference{fowler_high-threshold_2009}. There are other approaches (e.g., SDMB noise, SI noise) \citereference{derks_designing_2025} \end{itemize} \vspace*{15mm} \addreferences {derks_designing_2025} {fowler_high-threshold_2009} \stopreferences \end{frame} \begin{frame} \frametitle{Research Gap} \begin{itemize} \item Use soft information for sliding window decoding $\rightarrow$ Treat as spacially coupled LDPC code \item Current work considers X and Z errors separately (probably for latency reasons) $\rightarrow$ See how decoding the jointly works out \end{itemize} \end{frame} %%%%%%%%%%%%%%%% \subsection{What we simulate} \label{subsec:What we simulate} \begin{frame} \frametitle{The lack of a Standard Evaluation System} \begin{itemize} \item \red{Look into ECCentric} \item There is not even a standard figure of merit (e.g., FER/BER over SNR in classical case) $\rightarrow$ Multiple different kinds of plots (e.g., footprint) \item Overview of variables \end{itemize} \end{frame} \begin{frame} \frametitle{Proposed Evaluation Pipeline} \begin{itemize} \item To what values I will fix the parameters and why \item What figure of merit I will use and why \end{itemize} \end{frame} \begin{frame}[t] \frametitle{Questions} \begin{minipage}[c]{0.65\textwidth} \centering \LARGE Thank you for your attention!\\ Any questions? \end{minipage}% \begin{minipage}[c]{0.35\textwidth} \centering \begin{figure}[H] \centering \begin{tikzpicture}[every node/.style={scale=10}] \node at (0, 0) {\textcolor{kit-blue}{{\fontfamily{phv}\selectfont ?}}}; \end{tikzpicture} \end{figure} \end{minipage} \end{frame} \appendix \beginbackup % TODO: Move arrow into syndrome extraction lower (branch from other % arrow) and change caption to "modified from [MSLS25]" \begin{frame} \frametitle{System Level Overview} \vspace*{-15mm} \begin{figure}[H] \centering \begin{subfigure}[t]{0.5\textwidth} \centering \includegraphics[scale=1.1]{res/architecture} \vspace*{5mm} \caption{Schematic workflow of surface code quantum computation \citereference{zhang_classical_2023}.} \end{subfigure}% \begin{subfigure}[t]{0.5\textwidth} \centering \tikzset{ block/.style={ draw, rectangle, fill = kit-blue!25, minimum width=75mm, minimum height=15mm, } } \scalebox{0.7}{ \begin{tikzpicture}[node distance=15mm and 20mm] \node[block] (encoding) {Encoding}; \node[block, below=of encoding] (channel) {Quantum Channel}; \node[block, below=of channel] (reverse-op) {Reverse Operation}; \node[block, right=of channel] (syn-extr) {Syndrome Extraction}; \node[block, below=of syn-extr] (syn-dec) {Syndrome Decoder}; \node[above=of encoding] (input) {$\ket{\phi}$}; \node[below=of reverse-op] (output) {$\hat{\mathcal{E}}\mathcal{E}\ket{\psi}$}; \draw [-{Latex}] (encoding) -- (channel) node[midway, right] {$\ket{\psi}$}; \draw [-{Latex}] (channel) -- (reverse-op) node[midway, right] {$\mathcal{E}\ket{\psi}$}; \draw [-{Latex}] (channel) -- (syn-extr) node[midway, above] {$\mathcal{E}\ket{\psi}$}; \draw [-{Latex}] (syn-extr) -- (syn-dec) node[midway, right] {$z$}; \draw [-{Latex}] (syn-dec) -- (reverse-op) node[midway, above] {$\hat{\mathcal{E}}$}; \draw [-{Latex}] (input) -- (encoding); \draw [-{Latex}] (reverse-op) -- (output); \end{tikzpicture} } \vspace*{5mm} \caption{Block diagram of QEC using stabilizer codes \citereference{miao_quaternary_2025}.} \end{subfigure} \end{figure} % \vspace*{-2mm} \addreferences {zhang_classical_2023} {miao_quaternary_2025} \stopreferences \end{frame} % TODO: Is this really necessary? \begin{frame} \frametitle{The Quantum Error Correction Landscape} \begin{itemize} \item Give basic overview of most promising avenues of research (as in ECCentric paper) \end{itemize} \end{frame} \backupend \end{document}