diff --git a/src/midterm_presentation/main.tex b/src/midterm_presentation/main.tex index ab34dab..285785c 100644 --- a/src/midterm_presentation/main.tex +++ b/src/midterm_presentation/main.tex @@ -24,7 +24,7 @@ \usepackage{tikz} \usepackage{tikz-3dplot} -\usetikzlibrary{spy, external, intersections, positioning} +\usetikzlibrary{spy, external, intersections, positioning, tikzmark} % \ifdefined\ishandout\else \tikzexternalize @@ -47,8 +47,8 @@ \usepackage{amssymb} \usepackage{acro} \usepackage{braket} -% \usepackage{qcircuit} \usepackage{quantikz} +\usepackage{nicematrix} \title{Fault Tolerant Quantum Error Correction} \subtitle{Master's Thesis Midterm Presentation} @@ -103,6 +103,21 @@ 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 +} + % % % Document body @@ -376,8 +391,8 @@ \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 \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 @@ -436,7 +451,7 @@ \begin{frame} \frametitle{Fault Tolerance} - \vspace*{-15mm} + \vspace*{-18mm} \begin{itemize} \item The quantum gates we use for syndrome extraction are @@ -448,7 +463,7 @@ \citereference{derks_designing_2025} \end{itemize} - \vspace*{3mm} + % \vspace*{3mm} \begin{figure}[H] \centering @@ -472,9 +487,12 @@ \node[above] at (internal.north) {\small QEC}; \node[above] at (output.north) {\small Output State}; \end{tikzpicture} + + \caption{Overview of the flow of errors in a \ac{qec} system. + Adapted from \citereference{derks_designing_2025}.} \end{figure} - \vspace*{3mm} + % \vspace*{3mm} \begin{itemize} \item We have to modify the syndrome extraction circuitry to @@ -484,7 +502,7 @@ \item We generally perform multiple rounds of syndrome extraction \end{itemize} - \vspace*{10mm} + \vspace*{8mm} \addreferences {shor_fault-tolerant_1997} @@ -971,8 +989,9 @@ \vspace*{-17mm} \begin{itemize} - \item Visualization of general process \red{Deal with 3-qubit - state (somehow represent arbitrary qubit state)} + \item Visualization of general process + % \red{Deal with 3-qubit state (somehow represent arbitrary + % qubit state)} \end{itemize} \vspace*{5mm} @@ -1092,7 +1111,7 @@ % tex-fmt: on \caption{Circuit-level noise model for the 3-qubit - repetition code (for X errors)} + repetition code (for X errors).} \end{figure} \end{minipage} @@ -1107,8 +1126,15 @@ \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 + \begin{itemize} \item A \ac{dem} combines a detector error matrix and a noise model + \item When employing \ac{bp}, the syndrome-based variant must + be used \citereference{babar_fifteen_2015} \item The likelihoods of different error locations can be used as priors for decoding \vspace*{5mm} @@ -1138,28 +1164,150 @@ \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{Sliding Window Decoding} + \frametitle{Addressing the Challenges} + + \vspace*{-18mm} \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.)} + \item Many window-based approaches exist to combat the + decoding complexity + \begin{itemize} + \item Parallel decoding of syndromes + \citereference{skoric_parallel_2023} + \item Using sliding windows + \citereference{huang_improved_2023} + \citereference{gong_toward_2024} + \end{itemize} + \item To deal with the degraded \ac{bp} performance, it is + usually modified or extended + \begin{itemize} + \item \Ac{osd} post-processing + \citereference{roffe_decoding_2020} + \item Guided decimation \citereference{gong_toward_2024} + \item Neural approaches + \citereference{kuo_exploiting_2022} + \citereference{miao_quaternary_2025} + \item Ensemble decoding + \citereference{koutsioumpas_automorphism_2025} + \end{itemize} \end{itemize} + + \vspace*{5mm} + + \addreferences + {roffe_decoding_2020} + {kuo_exploiting_2022} + {huang_improved_2023} + {skoric_parallel_2023} + {gong_toward_2024} + {miao_quaternary_2025} + {koutsioumpas_automorphism_2025} + \stopreferences \end{frame} -\begin{frame} - \frametitle{Guided Decimation Guessing Decoding} +\begin{frame}[fragile] + \frametitle{Sliding-Window Decoding} + + \vspace*{-18mm} \begin{itemize} - \item Update equations - \item Key ideas - \item Syndrome Based BP + \item The sliding window approach taken in + \citereference{gong_toward_2024} resembles a \ac{scldpc} + code decoder + \item However, they don't pass soft information between + windows (only update of syndrome based on hard decision + in previous window) \end{itemize} + + \vspace*{-10mm} + + \begin{figure} + \begin{subfigure}[b]{0.5\textwidth} + \begin{gather*} + \begin{pmatrix} + \bm{H}_0 & \bm{H}_1 & \bm{0} & \bm{0} \\ + \bm{0} & \bm{H}_2 & \bm{H}_0 & \bm{H}_1 \\ + \bm{0} & \bm{0} & \bm{0} & \bm{H}_2 + \end{pmatrix} + \begin{pmatrix} + \hat{\bm{e}}_0 \\ + \hat{\bm{e}}_1 \\ + \vdots + \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*{5mm} + + \caption{Equations for the decoding of the first window} + \end{subfigure}% + \begin{subfigure}[b]{0.5\textwidth} + \[ + \left( + \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 & \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 & & \phantom{\bm{0}} & \\ + \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{0} & \bm{0} & \bm{H}_2 & \\ + \vdots & \phantom{\bm{0}} & & & & & & & \ddots \\ + % tex-fmt: on + } ; + + \draw[kit-red, line width=2pt] + ($(m-3-1.south west) + (-0.1,-0.1)$) + rectangle + ($(m-1-4.north east) + (0.1,0.1)$); + + \draw[kit-orange, line width=2pt] + ($(m-4-3.south west) + (-0.1,-0.1)$) + rectangle + ($(m-2-6.north east) + (0.1,0.1)$); + + \draw[kit-blue, line width=2pt] + ($(m-5-5.south west) + (-0.1,-0.1)$) + rectangle + ($(m-3-8.north east) + (0.1,0.1)$); + + \draw[-{Latex},line width=2pt] + ($(m-1-5.north) + (0,0.8)$) + -- + ($(m-2-8.north) + (0,0.8)$); + \end{tikzpicture} + \right) + \] + + \caption{Visualization of sliding window procedure} + \end{subfigure}% + \end{figure} + + \vspace*{-5mm} + + \begin{itemize} + \item They try \ac{bp} + \ac{osd} and a modification of + \ac{bp} with guided decimation + \end{itemize} + + \vspace*{4mm} + + \addreferences + {gong_toward_2024} + \stopreferences \end{frame} \begin{frame}