5004 lines
208 KiB
TeX
5004 lines
208 KiB
TeX
\documentclass[overviewatsection,en]{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}
|
||
\usepackage{lmodern}
|
||
\usepackage{algorithmic}
|
||
\usepackage{algorithm}
|
||
\usepackage{stmaryrd}
|
||
|
||
\title{Fault-Tolerant Quantum Error Correction}
|
||
\subtitle{Master's Thesis Final 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{sced}{
|
||
short=SCED,
|
||
long=sub-code ensemble decoding
|
||
}
|
||
|
||
\DeclareAcronym{qec}{
|
||
short=QEC,
|
||
long=quantum error correction
|
||
}
|
||
|
||
\DeclareAcronym{se}{
|
||
short=SE,
|
||
long=syndrome extraction
|
||
}
|
||
|
||
\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{vn}{
|
||
short=VN,
|
||
long=variable node
|
||
}
|
||
|
||
\DeclareAcronym{cn}{
|
||
short=CN,
|
||
long=check node
|
||
}
|
||
|
||
\DeclareAcronym{spa}{
|
||
short=SPA,
|
||
long=sum-product algorithm
|
||
}
|
||
|
||
\DeclareAcronym{gd}{
|
||
short=GD,
|
||
long=guided decimation
|
||
}
|
||
|
||
\DeclareAcronym{gdg}{
|
||
short=GDG,
|
||
long=guided decimation guessing
|
||
}
|
||
|
||
\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 \\
|
||
$\implies$ 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 $k\in \mathbb{N} $ \schlagwort{logical
|
||
qubits} using $n \in \mathbb{N}$ \schlagwort{physical qubits},
|
||
$n>k$ \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 $\sim 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*{-17mm}
|
||
|
||
% 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 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}
|
||
|
||
\vspace*{-5mm}
|
||
|
||
\begin{itemize}
|
||
\visible<2->{
|
||
\item Measurement-induced wave collapse \\
|
||
$\implies$ Use binary syndrome for decoding
|
||
\citereferencemanual{NC10}
|
||
}
|
||
\end{itemize}
|
||
|
||
\vspace*{-5mm}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
|
||
\begin{minipage}{0.25\textwidth}
|
||
\centering
|
||
\visible<2->{
|
||
\begin{align*}
|
||
\bm{H} \bm{y}^\text{T} = \bm{H} \bm{e}^\text{T} = \bm{s}
|
||
\end{align*}
|
||
}
|
||
\end{minipage}%
|
||
\hspace*{30mm}
|
||
\begin{minipage}{0.12\textwidth}
|
||
\centering
|
||
\visible<3->{
|
||
\begin{align*}
|
||
\bm{H} =
|
||
\begin{pmatrix}
|
||
1 & 1 & 0 \\
|
||
0 & 1 & 1
|
||
\end{pmatrix}
|
||
\end{align*}
|
||
}
|
||
\end{minipage}
|
||
\begin{minipage}{0.3\textwidth}
|
||
\centering
|
||
\visible<3->{
|
||
% 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{minipage}%
|
||
\end{figure}
|
||
|
||
\vspace*{3mm}
|
||
|
||
\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.
|
||
}
|
||
\stopreferencesmanual
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{Evaluating the Decoding Performance}
|
||
|
||
\vspace*{-5mm}
|
||
|
||
\begin{itemize}
|
||
\item Quantum \schlagwort{degeneracy}: Multiple solutions to
|
||
the decoding
|
||
problem \citereferencemanual{RWB$^+$20} \\
|
||
$\implies$ Consider \schlagwort{\acl{ler}} (LER)
|
||
\end{itemize}
|
||
|
||
\vspace*{15mm}
|
||
|
||
\only<1>{
|
||
\phantom{
|
||
\begin{minipage}{0.35\textwidth}
|
||
\begin{itemize}
|
||
\item Independent variables
|
||
\begin{itemize}
|
||
\item \textbf{Physical error rate}
|
||
\item CNOT infidelity
|
||
\item Total qubit count
|
||
\item \ldots
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.65\textwidth}
|
||
\begin{itemize}
|
||
\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}
|
||
}
|
||
}
|
||
\only<2>{
|
||
\begin{minipage}{0.35\textwidth}
|
||
\begin{itemize}
|
||
\item Independent variables
|
||
\begin{itemize}
|
||
\item Physical error rate
|
||
\item CNOT infidelity
|
||
\item Total qubit count
|
||
\item \ldots
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.65\textwidth}
|
||
\begin{itemize}
|
||
\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}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\only<3>{
|
||
\begin{minipage}{0.35\textwidth}
|
||
\begin{itemize}
|
||
\item Independent variables
|
||
\begin{itemize}
|
||
\item \textbf{Physical error rate}
|
||
\item CNOT infidelity
|
||
\item Total qubit count
|
||
\item \ldots
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.65\textwidth}
|
||
\begin{itemize}
|
||
\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*{25mm}
|
||
|
||
\addreferencesmanual
|
||
{RWB$^+$20}{
|
||
J. Roffe et al., ``Decoding across the quantum low-density
|
||
parity-check code landscape,'' \emph{Phys. Rev.}, 2020.
|
||
}
|
||
{FSG09}{
|
||
A. G. Fowler, A. M. Stephens, and P. Groszkowski,
|
||
``High-threshold universal quantum computing on the surface
|
||
code,'' \emph{Phys. Rev.}, 2009.
|
||
}
|
||
{GNF$^+$21}{
|
||
C. Gidney et al., ``A Fault-tolerant honeycomb memory'',
|
||
\emph{Quantum}, 2021.
|
||
}
|
||
\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 \\
|
||
$\implies$ 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 \acf{se}
|
||
}
|
||
\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}
|
||
|
||
\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*{54.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*{61.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}
|
||
|
||
\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 \schlagwort{Detector}: Parity constraint on a set
|
||
of measurement outcomes
|
||
\item Columns of \schlagwort{detector error matrix}
|
||
$\bm{H}$ are 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}[fragile]
|
||
\frametitle{Noise Models}
|
||
|
||
% 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 \schlagwort{Noise model} assigns probabilities to error locations
|
||
\end{itemize}
|
||
|
||
\vspace*{1mm}
|
||
|
||
\begin{minipage}{0.60\textwidth}
|
||
\begin{itemize}
|
||
\item Types of noise model
|
||
\begin{itemize}
|
||
\visible<1->{
|
||
\item \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*{-18mm}
|
||
|
||
\begin{itemize}
|
||
\item \schlagwort{Detector error model} (DEM) combines
|
||
detector error matrix and noise model
|
||
\visible<2->{
|
||
\item Tanner graph of detector error matrix of bivariate
|
||
bicycle (\acs{bb}) code \citereferencemanual{KSW$^+$25}
|
||
}
|
||
\end{itemize}
|
||
|
||
\only<1>{\vspace*{-0.4mm}}
|
||
\vspace*{5mm}
|
||
|
||
\visible<2->{
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[scale=5,angle=90]{res/stergios_tanner_graph}
|
||
\end{figure}
|
||
}
|
||
|
||
\vspace*{-5mm}
|
||
|
||
\begin{itemize}
|
||
\visible<2->{
|
||
\item Challenges
|
||
}
|
||
\begin{itemize}
|
||
\visible<2->{
|
||
\item Fault tolerance: Additional error locations \\
|
||
$\implies$ \schlagwort{Increased decoding
|
||
complexity} \citereferencemanual{GCR24}
|
||
}
|
||
\visible<3->{
|
||
\item Quantum setting: Degeneracy and short
|
||
cycles \\
|
||
$\implies$ \schlagwort{Degraded performance}
|
||
of belief propagation (BP)
|
||
\citereferencemanual{BBA$^+$15}
|
||
}
|
||
\end{itemize}
|
||
\end{itemize}
|
||
|
||
\vspace*{8mm}
|
||
|
||
\addreferencesmanual
|
||
{KSW$^+$25}{
|
||
S. Koutsioumpas et al., ``Automorphism ensemble decoding of
|
||
quantum LDPC codes,'' \emph{arXiv:2503.01738}, 2025.
|
||
}
|
||
{GCR24}{A. Gong et al., ``Toward low-latency iterative decoding
|
||
of qLDPC codes under circuit-level noise,'' arXiv:2403.18901, 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{Sliding-Window Decoding}
|
||
\label{sec:Sliding-Window Decoding}
|
||
|
||
%%%%%%%%%%%%%%%%
|
||
\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 et al., ``Toward low-latency iterative decoding
|
||
% of qLDPC codes under circuit-level noise,'' arXiv:2403.18901, 2024.
|
||
% }
|
||
% {RWB$^+$20}{
|
||
% J. Roffe et al., ``Decoding across the quantum low-density
|
||
% parity-check code landscape,'' \emph{Phys. Rev.}, 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}
|
||
|
||
\begin{frame}
|
||
\frametitle{Sliding-Window Decoding}
|
||
|
||
\vspace*{-13mm}
|
||
|
||
\begin{itemize}
|
||
\item Detector error matrix of $\llbracket 72,6,6 \rrbracket$
|
||
\ac{bb} code
|
||
\end{itemize}
|
||
|
||
\visible<3->{
|
||
\hspace*{21mm}%
|
||
\begin{tikzpicture}
|
||
\draw[decorate, decoration={brace, amplitude=10pt}, line width=1pt]
|
||
(0,0) -- (6,0) node[midway, above=4mm] {Commit region};
|
||
\end{tikzpicture}
|
||
}
|
||
|
||
\vspace*{-2mm}
|
||
|
||
\only<1> {
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[scale=1.4]{res/72_bb_dem_no_windows.pdf}
|
||
\end{figure}
|
||
}
|
||
|
||
\only<2-> {
|
||
\begin{figure}[H]
|
||
\centering
|
||
\includegraphics[scale=1.4]{res/72_bb_dem.pdf}
|
||
\end{figure}
|
||
}
|
||
|
||
\vspace*{-50.85mm}
|
||
|
||
\visible<4->{
|
||
\hspace*{-8mm}%
|
||
\begin{tikzpicture}
|
||
\draw[{Latex}-{Latex}, line width=1pt] (0,0) -- (0,1);
|
||
\draw[line width=1pt] (-1mm,0) -- (3mm,0);
|
||
\draw[line width=1pt] (-1mm,1) -- (3mm,1);
|
||
\node[left] at (-2mm,0.5) {$\sim W$};
|
||
|
||
\draw[{Latex}-{Latex}, line width=1pt] (11.5cm,0.4) -- (11.5cm,1);
|
||
\draw[line width=1pt] (11.5cm,0.98) -- (11.5cm,1.5);
|
||
\node[above] at (11.5cm,1.5) {$\sim F$};
|
||
\end{tikzpicture}
|
||
}
|
||
|
||
\vspace*{27mm}
|
||
|
||
\begin{itemize}
|
||
\visible<2->{
|
||
\item Split matrix into \schlagwort{overlapping windows}
|
||
\citereferencemanual{HP23} \citereferencemanual{GCR24}
|
||
}
|
||
\visible<3->{
|
||
\item After decoding a window
|
||
\begin{itemize}
|
||
\item Store error estimates in
|
||
\schlagwort{commit region}
|
||
\item \schlagwort{Update syndrome} of overlapping region
|
||
\item Move to next window
|
||
\end{itemize}
|
||
}
|
||
\end{itemize}
|
||
|
||
\vspace*{12mm}
|
||
|
||
\addreferencesmanual
|
||
{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 et al., ``Toward low-latency iterative decoding
|
||
of qLDPC codes under circuit-level noise,'' arXiv:2403.18901, 2024.
|
||
}
|
||
\stopreferencesmanual
|
||
\end{frame}
|
||
|
||
%%%%%%%%%%%%%%%%
|
||
\subsection{Warm-Start Sliding-Window Decoding}
|
||
\label{subsec:Soft-Information-Aware Sliding-Window Decoding}
|
||
|
||
\begin{frame}
|
||
\frametitle{BP: Warm-Start Sliding-Window Decoding}
|
||
|
||
\vspace*{-15mm}
|
||
|
||
\begin{itemize}
|
||
\item Contribution: \schlagwort{Warm-start} by initializing
|
||
with soft information from previous window
|
||
\end{itemize}
|
||
|
||
\vspace*{-5mm}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
|
||
\tikzset{
|
||
VN/.style={
|
||
circle, fill=kit-green,
|
||
inner sep=1.5mm,
|
||
},
|
||
CN/.style={
|
||
rectangle, fill=kit-blue,
|
||
inner sep=1.8mm,
|
||
},
|
||
}
|
||
|
||
\only<1>{
|
||
\begin{tikzpicture}[node distance = 7mm]
|
||
\node[VN] (vn00) {};
|
||
\node[VN, below = of vn00] (vn01) {};
|
||
\node[VN, below = of vn01] (vn02) {};
|
||
\node[VN, below = of vn02] (vn03) {};
|
||
\node[VN, below = of vn03] (vn04) {};
|
||
|
||
\coordinate (temp) at ($(vn01)!0.5!(vn02)$);
|
||
|
||
\node[CN, left =15mm of temp] (cn00) {};
|
||
\node[CN, below = of cn00] (cn01) {};
|
||
|
||
\draw (vn00) -- (cn00);
|
||
\draw (vn01) -- (cn00);
|
||
\draw (vn03) -- (cn00);
|
||
\draw (vn01) -- (cn01);
|
||
\draw (vn02) -- (cn01);
|
||
\draw (vn04) -- (cn01);
|
||
|
||
\foreach \i in {1,2,3,4} {
|
||
\pgfmathtruncatemacro{\prev}{\i-1}
|
||
|
||
\node[VN, right = 35mm of vn\prev 0] (vn\i0) {};
|
||
\node[VN, below = of vn\i0] (vn\i1) {};
|
||
\node[VN, below = of vn\i1] (vn\i2) {};
|
||
\node[VN, below = of vn\i2] (vn\i3) {};
|
||
\node[VN, below = of vn\i3] (vn\i4) {};
|
||
|
||
\coordinate (temp) at ($(vn\i1)!0.5!(vn\i2)$);
|
||
|
||
\node[CN, left = 15mm of temp] (cn\i0) {};
|
||
\node[CN, below = of cn\i0] (cn\i1) {};
|
||
|
||
\draw (vn\i0) -- (cn\i0);
|
||
\draw (vn\i1) -- (cn\i0);
|
||
\draw (vn\i3) -- (cn\i0);
|
||
\draw (vn\i1) -- (cn\i1);
|
||
\draw (vn\i2) -- (cn\i1);
|
||
\draw (vn\i4) -- (cn\i1);
|
||
}
|
||
|
||
\foreach \i in {1,2,3,4} {
|
||
\pgfmathtruncatemacro{\prev}{\i-1}
|
||
|
||
\draw (vn\prev 3) -- (cn\i 0);
|
||
\draw (vn\prev 4) -- (cn\i 1);
|
||
}
|
||
|
||
\node[
|
||
draw, inner sep=5mm,line width=1pt,
|
||
fit=(vn00)(vn04)(cn00)(cn01)(vn20)(vn24)(cn20)(cn21)
|
||
]
|
||
(box1) {};
|
||
\node[
|
||
draw, dashed, inner sep=5mm, inner ysep=8mm,line width=1pt,
|
||
fit=(vn10)(vn14)(cn10)(cn11)(vn30)(vn34)(cn30)(cn31)
|
||
]
|
||
(box2) {};
|
||
|
||
% Marker for solid box (positions 0–2)
|
||
\draw[line width=1pt] ([yshift=-5mm, line
|
||
width=1pt]box1.south west)
|
||
-- ++(0,-4mm)
|
||
coordinate (dim1l);
|
||
\draw[line width=1pt] ([yshift=-5mm]box1.south east)
|
||
-- ++(0,-4mm)
|
||
coordinate (dim1r);
|
||
\draw[{Latex}-{Latex}, line width=1pt]
|
||
([yshift=-2mm]dim1l) -- ([yshift=-2mm]dim1r)
|
||
node[midway, below=2pt] {$W$};
|
||
|
||
% Marker for step size F on top
|
||
\draw[line width=1pt] ([yshift=3mm]box2.north west)
|
||
-- ++(0,4mm)
|
||
coordinate (dim3l);
|
||
\draw[line width=1pt] ([yshift=3mm]box2.north west -|
|
||
box1.north west)
|
||
-- ++(0,4mm)
|
||
coordinate (dim3r);
|
||
\draw[{Latex}-{Latex}, line width=1pt]
|
||
([yshift=2mm]dim3l) -- ([yshift=2mm]dim3r)
|
||
node[midway, above=2pt] {$F$};
|
||
|
||
\draw[-{Latex}, line width=1pt] ([yshift=8mm] box1.north
|
||
east) -- ++(35mm,0);
|
||
\end{tikzpicture}
|
||
}%
|
||
\only<2->{
|
||
\begin{tikzpicture}[node distance = 7mm]
|
||
\node[VN] (vn00) {};
|
||
\node[VN, below = of vn00] (vn01) {};
|
||
\node[VN, below = of vn01] (vn02) {};
|
||
\node[VN, below = of vn02] (vn03) {};
|
||
\node[VN, below = of vn03] (vn04) {};
|
||
|
||
\coordinate (temp) at ($(vn01)!0.5!(vn02)$);
|
||
|
||
\node[CN, left =15mm of temp] (cn00) {};
|
||
\node[CN, below = of cn00] (cn01) {};
|
||
|
||
\draw (vn00) -- (cn00);
|
||
\draw (vn01) -- (cn00);
|
||
\draw (vn03) -- (cn00);
|
||
\draw (vn01) -- (cn01);
|
||
\draw (vn02) -- (cn01);
|
||
\draw (vn04) -- (cn01);
|
||
|
||
\foreach \i in {1,2,3,4} {
|
||
\pgfmathtruncatemacro{\prev}{\i-1}
|
||
|
||
\node[VN, right = 35mm of vn\prev 0] (vn\i0) {};
|
||
\node[VN, below = of vn\i0] (vn\i1) {};
|
||
\node[VN, below = of vn\i1] (vn\i2) {};
|
||
\node[VN, below = of vn\i2] (vn\i3) {};
|
||
\node[VN, below = of vn\i3] (vn\i4) {};
|
||
|
||
\coordinate (temp) at ($(vn\i1)!0.5!(vn\i2)$);
|
||
|
||
\node[CN, left = 15mm of temp] (cn\i0) {};
|
||
\node[CN, below = of cn\i0] (cn\i1) {};
|
||
|
||
\draw (vn\i0) -- (cn\i0);
|
||
\draw (vn\i1) -- (cn\i0);
|
||
\draw (vn\i3) -- (cn\i0);
|
||
\draw (vn\i1) -- (cn\i1);
|
||
\draw (vn\i2) -- (cn\i1);
|
||
\draw (vn\i4) -- (cn\i1);
|
||
}
|
||
|
||
\foreach \i in {1,2,3,4} {
|
||
\pgfmathtruncatemacro{\prev}{\i-1}
|
||
|
||
\draw (vn\prev 3) -- (cn\i 0);
|
||
\draw (vn\prev 4) -- (cn\i 1);
|
||
}
|
||
|
||
\node[
|
||
draw, inner sep=5mm,line width=1pt,
|
||
fit=(vn00)(vn04)(cn00)(cn01)(vn20)(vn24)(cn20)(cn21)
|
||
]
|
||
(box1) {};
|
||
\node[
|
||
draw, dashed, inner sep=5mm, inner ysep=8mm,line width=1pt,
|
||
fit=(vn10)(vn14)(cn10)(cn11)(vn30)(vn34)(cn30)(cn31)
|
||
]
|
||
(box2) {};
|
||
|
||
\draw[kit-orange, line width=2pt] (cn10) -- (vn10);
|
||
\draw[kit-orange, line width=2pt] (cn10) -- (vn11);
|
||
\draw[kit-orange, line width=2pt] (cn10) -- (vn13);
|
||
\draw[kit-orange, line width=2pt] (cn11) -- (vn11);
|
||
\draw[kit-orange, line width=2pt] (cn11) -- (vn12);
|
||
\draw[kit-orange, line width=2pt] (cn11) -- (vn14);
|
||
|
||
\draw[kit-orange, line width=2pt] (vn13) -- (cn20);
|
||
\draw[kit-orange, line width=2pt] (vn14) -- (cn21);
|
||
|
||
\draw[kit-orange, line width=2pt] (cn20) -- (vn20);
|
||
\draw[kit-orange, line width=2pt] (cn20) -- (vn21);
|
||
\draw[kit-orange, line width=2pt] (cn20) -- (vn23);
|
||
\draw[kit-orange, line width=2pt] (cn21) -- (vn21);
|
||
\draw[kit-orange, line width=2pt] (cn21) -- (vn22);
|
||
\draw[kit-orange, line width=2pt] (cn21) -- (vn24);
|
||
|
||
% Marker for solid box (positions 0–2)
|
||
\draw[line width=1pt] ([yshift=-5mm, line
|
||
width=1pt]box1.south west)
|
||
-- ++(0,-4mm)
|
||
coordinate (dim1l);
|
||
\draw[line width=1pt] ([yshift=-5mm]box1.south east)
|
||
-- ++(0,-4mm)
|
||
coordinate (dim1r);
|
||
\draw[{Latex}-{Latex}, line width=1pt]
|
||
([yshift=-2mm]dim1l) -- ([yshift=-2mm]dim1r)
|
||
node[midway, below=2pt] {$W$};
|
||
|
||
% Marker for step size F on top
|
||
\draw[line width=1pt] ([yshift=3mm]box2.north west)
|
||
-- ++(0,4mm)
|
||
coordinate (dim3l);
|
||
\draw[line width=1pt] ([yshift=3mm]box2.north west -|
|
||
box1.north west)
|
||
-- ++(0,4mm)
|
||
coordinate (dim3r);
|
||
\draw[{Latex}-{Latex}, line width=1pt]
|
||
([yshift=2mm]dim3l) -- ([yshift=2mm]dim3r)
|
||
node[midway, above=2pt] {$F$};
|
||
|
||
\draw[-{Latex}, line width=1pt] ([yshift=8mm] box1.north
|
||
east) -- ++(35mm,0);
|
||
\end{tikzpicture}
|
||
}
|
||
\end{figure}
|
||
|
||
\vspace*{-5mm}
|
||
|
||
\begin{itemize}
|
||
\item Pass messages from overlapping region to next window
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{BP Performance: Window Size}
|
||
|
||
\vspace*{-18mm}
|
||
|
||
% Idea for why lower error rate -> larger improvement
|
||
% - Lower error rate
|
||
% -> soft info more accurate earlier
|
||
% -> passed info worth more
|
||
|
||
\begin{itemize}
|
||
\item Examine decoding performance for \schlagwort{BP}
|
||
\item Larger improvement for lower error rate
|
||
\end{itemize}
|
||
|
||
\vspace*{5mm}
|
||
|
||
\only<1>{
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
minimum width=25mm,
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
]
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/*,4/kit-blue/triangle*,5/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, mark options={fill=\col},
|
||
line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_32/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$W = \W$}
|
||
}
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/o,4/kit-blue/triangle,5/kit-orange/square} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_32/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
|
||
\setlength{\tabcolsep}{3pt}
|
||
|
||
\node[
|
||
draw, fill=white,
|
||
anchor=south east, at={(current axis.south east)},
|
||
xshift=-40mm, yshift=3.15mm,
|
||
inner xsep=1mm,
|
||
] (linestyle legend) {
|
||
\begin{tabular}{ll}
|
||
\raisebox{4pt}{%
|
||
\tikz{%
|
||
\draw[black, densely dashed, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-2pt}{Cold start} \\[2.5pt]
|
||
\raisebox{5pt}{%
|
||
\tikz{%
|
||
\draw[black, solid, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-1pt}{Warm start}
|
||
\end{tabular}
|
||
};
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code
|
||
\item $12$ \ac{se} rounds
|
||
\item Min-sum decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $n_\text{iterations} = 32$
|
||
\item $F = 1$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\only<2>{
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
minimum width=25mm,
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
]
|
||
|
||
\addplot+[mark=square, line width=3pt, black,
|
||
legend image code/.code={
|
||
\draw[black, solid, line width=3pt]
|
||
(0.5mm,0mm) -- (5.5mm,0mm);
|
||
}]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/one-shot/SyndromeMinSumDecoder/max_iter_32/LERs.csv};
|
||
|
||
\addlegendentry{Whole}
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/*,4/kit-blue/triangle*,5/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, mark options={fill=\col},
|
||
line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_32/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$W = \W$}
|
||
}
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/o,4/kit-blue/triangle,5/kit-orange/square} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_32/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\addplot+[mark=square, line width=3pt,
|
||
densely dashed, black]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/one-shot/SyndromeMinSumDecoder/max_iter_32/LERs.csv};
|
||
\end{axis}
|
||
|
||
\setlength{\tabcolsep}{3pt}
|
||
|
||
\node[
|
||
draw, fill=white,
|
||
anchor=south east, at={(current axis.south east)},
|
||
xshift=-40mm, yshift=3.15mm,
|
||
inner xsep=1mm,
|
||
] (linestyle legend) {
|
||
\begin{tabular}{ll}
|
||
\raisebox{4pt}{%
|
||
\tikz{%
|
||
\draw[black, densely dashed, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-2pt}{Cold start} \\[2.5pt]
|
||
\raisebox{5pt}{%
|
||
\tikz{%
|
||
\draw[black, solid, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-1pt}{Warm start}
|
||
\end{tabular}
|
||
};
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code
|
||
\item $12$ \ac{se} rounds
|
||
\item Min-sum decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $n_\text{iterations} = 32$
|
||
\item $F = 1$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\only<3>{
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
minimum width=25mm,
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
]
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/*,4/kit-blue/triangle*,5/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[
|
||
mark=\mark, mark options={fill=gray},
|
||
line width=2pt, solid, gray, opacity=0.35,
|
||
forget plot,
|
||
]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_32/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/o,4/kit-blue/triangle,5/kit-orange/square} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[
|
||
mark=\mark, line width=2pt,
|
||
densely dashed, gray, opacity=0.35,
|
||
forget plot
|
||
]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_32/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/*,4/kit-blue/triangle*,5/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, mark options={fill=\col},
|
||
line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_200/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$W = \W$}
|
||
}
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/o,4/kit-blue/triangle,5/kit-orange/square} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_200/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
|
||
\setlength{\tabcolsep}{3pt}
|
||
|
||
\node[
|
||
draw, fill=white,
|
||
anchor=south east, at={(current axis.south east)},
|
||
xshift=-40mm, yshift=3.15mm,
|
||
inner xsep=1mm,
|
||
] (linestyle legend) {
|
||
\begin{tabular}{ll}
|
||
\raisebox{4pt}{%
|
||
\tikz{%
|
||
\draw[black, densely dashed, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-2pt}{Cold start} \\[2.5pt]
|
||
\raisebox{5pt}{%
|
||
\tikz{%
|
||
\draw[black, solid, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-1pt}{Warm start}
|
||
\end{tabular}
|
||
};
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code
|
||
\item $12$ \ac{se} rounds
|
||
\item Min-sum decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $n_\text{iterations} = 200$
|
||
\item $F = 1$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\only<4>{
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
minimum width=25mm,
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
]
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/*,4/kit-blue/triangle*,5/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[
|
||
mark=\mark, mark options={fill=gray},
|
||
line width=2pt, solid, gray, opacity=0.35,
|
||
forget plot,
|
||
]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_200/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/o,4/kit-blue/triangle,5/kit-orange/square} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[
|
||
mark=\mark, line width=2pt,
|
||
densely dashed, gray, opacity=0.35,
|
||
forget plot
|
||
]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_200/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/*,4/kit-blue/triangle*,5/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, mark options={fill=\col},
|
||
line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_5000/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$W = \W$}
|
||
}
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/o,4/kit-blue/triangle,5/kit-orange/square} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_5000/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
|
||
\setlength{\tabcolsep}{3pt}
|
||
|
||
\node[
|
||
draw, fill=white,
|
||
anchor=south east, at={(current axis.south east)},
|
||
xshift=-40mm, yshift=3.15mm,
|
||
inner xsep=1mm,
|
||
] (linestyle legend) {
|
||
\begin{tabular}{ll}
|
||
\raisebox{4pt}{%
|
||
\tikz{%
|
||
\draw[black, densely dashed, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-2pt}{Cold start} \\[2.5pt]
|
||
\raisebox{5pt}{%
|
||
\tikz{%
|
||
\draw[black, solid, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-1pt}{Warm start}
|
||
\end{tabular}
|
||
};
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code
|
||
\item $12$ \ac{se} rounds
|
||
\item Min-sum decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $n_\text{iterations} = 5000$
|
||
\item $F = 1$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{BP Performance: Step Size}
|
||
|
||
\vspace*{-18mm}
|
||
|
||
\begin{itemize}
|
||
\item Examine decoding performance for \schlagwort{BP}
|
||
\item Similar behavior to before
|
||
% \item Larger improvement for lower error rate
|
||
\end{itemize}
|
||
|
||
\vspace*{6.6mm}
|
||
|
||
\only<1> {
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
minimum width=25mm,
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
]
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/*,2/kit-blue/triangle*,1/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[
|
||
mark=\mark, mark options={fill=\col},
|
||
line width=2pt, solid, \col
|
||
]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_32/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$F = \F$}
|
||
}
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/o,2/kit-blue/triangle,1/kit-orange/square} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_32/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
|
||
\setlength{\tabcolsep}{3pt}
|
||
|
||
\node[
|
||
draw, fill=white,
|
||
anchor=south east, at={(current axis.south east)},
|
||
xshift=-40mm, yshift=3.15mm,
|
||
inner xsep=1mm,
|
||
] (linestyle legend) {
|
||
\begin{tabular}{ll}
|
||
\raisebox{4pt}{%
|
||
\tikz{%
|
||
\draw[black, densely dashed, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-2pt}{Cold start} \\[2.5pt]
|
||
\raisebox{5pt}{%
|
||
\tikz{%
|
||
\draw[black, solid, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-1pt}{Warm start}
|
||
\end{tabular}
|
||
};
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\vspace*{-20mm}
|
||
\item Smaller step size\\
|
||
$\implies$ More overlap
|
||
\vspace*{10mm}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code
|
||
\item $12$ \ac{se} rounds
|
||
\item Min-sum decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $n_\text{iterations} = 32$
|
||
\item $W = 5$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\only<2> {
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
minimum width=25mm,
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
]
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/*,2/kit-blue/triangle*,1/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
forget plot, solid, gray, opacity=0.35]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_32/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/o,2/kit-blue/triangle,1/kit-orange/square}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
forget plot, densely dashed, gray,
|
||
opacity=0.35]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_32/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/*,2/kit-blue/triangle*,1/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[
|
||
mark=\mark, mark options={fill=\col},
|
||
line width=2pt, solid, \col
|
||
]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_200/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$F = \F$}
|
||
}
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/o,2/kit-blue/triangle,1/kit-orange/square} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_200/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
|
||
\setlength{\tabcolsep}{3pt}
|
||
|
||
\node[
|
||
draw, fill=white,
|
||
anchor=south east, at={(current axis.south east)},
|
||
xshift=-40mm, yshift=3.15mm,
|
||
inner xsep=1mm,
|
||
] (linestyle legend) {
|
||
\begin{tabular}{ll}
|
||
\raisebox{4pt}{%
|
||
\tikz{%
|
||
\draw[black, densely dashed, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-2pt}{Cold start} \\[2.5pt]
|
||
\raisebox{5pt}{%
|
||
\tikz{%
|
||
\draw[black, solid, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-1pt}{Warm start}
|
||
\end{tabular}
|
||
};
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\vspace*{-20mm}
|
||
\item Smaller step size\\
|
||
$\implies$ More overlap
|
||
\vspace*{10mm}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code
|
||
\item $12$ \ac{se} rounds
|
||
\item Min-sum decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $n_\text{iterations} = 200$
|
||
\item $W = 5$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\only<3> {
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
minimum width=25mm,
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
]
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/*,2/kit-blue/triangle*,1/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
forget plot, solid, gray, opacity=0.35]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_200/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/o,2/kit-blue/triangle,1/kit-orange/square}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
forget plot, densely dashed, gray,
|
||
opacity=0.35]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_200/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/*,2/kit-blue/triangle*,1/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[
|
||
mark=\mark, mark options={fill=\col},
|
||
line width=2pt, solid, \col
|
||
]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_5000/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$F = \F$}
|
||
}
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/o,2/kit-blue/triangle,1/kit-orange/square} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeMinSumDecoder/max_iter_5000/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
|
||
\setlength{\tabcolsep}{3pt}
|
||
|
||
\node[
|
||
draw, fill=white,
|
||
anchor=south east, at={(current axis.south east)},
|
||
xshift=-40mm, yshift=3.15mm,
|
||
inner xsep=1mm,
|
||
] (linestyle legend) {
|
||
\begin{tabular}{ll}
|
||
\raisebox{4pt}{%
|
||
\tikz{%
|
||
\draw[black, densely dashed, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-2pt}{Cold start} \\[2.5pt]
|
||
\raisebox{5pt}{%
|
||
\tikz{%
|
||
\draw[black, solid, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-1pt}{Warm start}
|
||
\end{tabular}
|
||
};
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\vspace*{-20mm}
|
||
\item Smaller step size\\
|
||
$\implies$ More overlap
|
||
\vspace*{10mm}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code
|
||
\item $12$ \ac{se} rounds
|
||
\item Min-sum decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $n_\text{iterations} = 5000$
|
||
\item $W = 5$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\end{frame}
|
||
|
||
\begin{frame}[fragile]
|
||
\frametitle{BP with Guided Decimation}
|
||
|
||
\begin{minipage}{0.5\textwidth}
|
||
\vspace*{-10mm}
|
||
\centering
|
||
\begin{itemize}
|
||
\only<1>{\vspace*{10mm}}
|
||
\item Most errors due to non-convergence
|
||
\vspace*{10mm}
|
||
\visible<2-> {
|
||
\item BP with guided decimation (BPGD)
|
||
\citereferencemanual{YLH+24}
|
||
\begin{enumerate}
|
||
\item Perform $T$ \schlagwort{BP iterations}
|
||
\item Hard decision on \schlagwort{most
|
||
reliable \ac{vn}}
|
||
\item \schlagwort{Exclude \ac{vn}} from
|
||
further processing
|
||
\item Go back to step 1
|
||
\end{enumerate}
|
||
\vspace*{10mm}
|
||
\item Mitigates convergence problems
|
||
}
|
||
\end{itemize}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.5\textwidth}
|
||
\visible<3->{
|
||
\centering
|
||
\vspace*{-10mm}
|
||
|
||
\begin{itemize}
|
||
\item $\llbracket 882, 24, 18 \le d \le 24
|
||
\rrbracket$ generalized hypergraph product (GHP) code,
|
||
bit-flip noise \citereferencemanual{YLH+24}
|
||
\end{itemize}
|
||
|
||
% \vspace*{-5mm}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=13cm,
|
||
height=9cm,
|
||
ymode=log,
|
||
legend pos = south east,
|
||
ymin=1e-6, ymax=1,
|
||
enlargelimits=false,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
},
|
||
xlabel = {Physical error rate},
|
||
ylabel = {Frame error rate},
|
||
xtick={0.04,0.05,...,0.1},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
grid=both,
|
||
]
|
||
\addplot+[mark=pentagon, mark
|
||
options={fill=black}, line width=2pt, black]
|
||
table[col sep=comma, x=p, y=FER]
|
||
{res/literature/yao_bp.csv};
|
||
\addlegendentry{BP}
|
||
|
||
\addplot+[mark=diamond*, mark
|
||
options={fill=kit-green}, line width=2pt, kit-green]
|
||
table[col sep=comma, x=p, y=FER]
|
||
{res/literature/yao_bpgd_1.csv};
|
||
\addlegendentry{BPGD, $T = 1$}
|
||
|
||
\addplot+[mark=*, mark
|
||
options={fill=kit-red}, line width=2pt, kit-red]
|
||
table[col sep=comma, x=p, y=FER]
|
||
{res/literature/yao_bpgd_10.csv};
|
||
\addlegendentry{BPGD, $T = 10$}
|
||
|
||
\addplot+[mark=triangle*, mark
|
||
options={fill=kit-blue}, line width=2pt, kit-blue]
|
||
table[col sep=comma, x=p, y=FER]
|
||
{res/literature/yao_bpgd_70.csv};
|
||
\addlegendentry{BPGD, $T = 70$}
|
||
|
||
\addplot+[mark=square*, mark
|
||
options={fill=kit-orange}, line width=2pt, kit-orange]
|
||
table[col sep=comma, x=p, y=FER]
|
||
{res/literature/yao_bpgd_100.csv};
|
||
\addlegendentry{BPGD, $T = 100$}
|
||
|
||
\end{axis}
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
}
|
||
\end{minipage}
|
||
|
||
\vspace*{5mm}
|
||
|
||
\addreferencesmanual
|
||
{YLH+24}{Hanwen Yao et al. ``Belief propagation decoding of quantum
|
||
LDPC codes with guided decimation,'' 2024 IEEE International
|
||
Symposium on Information Theory (ISIT), 2024.}
|
||
\stopreferencesendmanual
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{BPGD: Warm-Start Sliding-Window Decoding I}
|
||
|
||
\vspace*{-15mm}
|
||
|
||
\begin{itemize}
|
||
\item BPGD: Additional information about overlap region
|
||
\end{itemize}
|
||
|
||
\vspace*{-5mm}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
|
||
\tikzset{
|
||
VN/.style={
|
||
circle, fill=kit-green,
|
||
inner sep=1.5mm,
|
||
},
|
||
CN/.style={
|
||
rectangle, fill=kit-blue,
|
||
inner sep=1.8mm,
|
||
},
|
||
}
|
||
|
||
\only<1>{
|
||
\begin{tikzpicture}[node distance = 7mm]
|
||
\node[VN] (vn00) {};
|
||
\node[VN, below = of vn00] (vn01) {};
|
||
\node[VN, below = of vn01] (vn02) {};
|
||
\node[VN, below = of vn02] (vn03) {};
|
||
\node[VN, below = of vn03] (vn04) {};
|
||
|
||
\coordinate (temp) at ($(vn01)!0.5!(vn02)$);
|
||
|
||
\node[CN, left =15mm of temp] (cn00) {};
|
||
\node[CN, below = of cn00] (cn01) {};
|
||
|
||
\draw (vn00) -- (cn00);
|
||
\draw (vn01) -- (cn00);
|
||
\draw (vn03) -- (cn00);
|
||
\draw (vn01) -- (cn01);
|
||
\draw (vn02) -- (cn01);
|
||
\draw (vn04) -- (cn01);
|
||
|
||
\foreach \i in {1,2,3,4} {
|
||
\pgfmathtruncatemacro{\prev}{\i-1}
|
||
|
||
\node[VN, right = 35mm of vn\prev 0] (vn\i0) {};
|
||
\node[VN, below = of vn\i0] (vn\i1) {};
|
||
\node[VN, below = of vn\i1] (vn\i2) {};
|
||
\node[VN, below = of vn\i2] (vn\i3) {};
|
||
\node[VN, below = of vn\i3] (vn\i4) {};
|
||
|
||
\coordinate (temp) at ($(vn\i1)!0.5!(vn\i2)$);
|
||
|
||
\node[CN, left = 15mm of temp] (cn\i0) {};
|
||
\node[CN, below = of cn\i0] (cn\i1) {};
|
||
|
||
\draw (vn\i0) -- (cn\i0);
|
||
\draw (vn\i1) -- (cn\i0);
|
||
\draw (vn\i3) -- (cn\i0);
|
||
\draw (vn\i1) -- (cn\i1);
|
||
\draw (vn\i2) -- (cn\i1);
|
||
\draw (vn\i4) -- (cn\i1);
|
||
}
|
||
|
||
\foreach \i in {1,2,3,4} {
|
||
\pgfmathtruncatemacro{\prev}{\i-1}
|
||
|
||
\draw (vn\prev 3) -- (cn\i 0);
|
||
\draw (vn\prev 4) -- (cn\i 1);
|
||
}
|
||
|
||
\node[
|
||
draw, inner sep=5mm,line width=1pt,
|
||
fit=(vn00)(vn04)(cn00)(cn01)(vn20)(vn24)(cn20)(cn21)
|
||
]
|
||
(box1) {};
|
||
\node[
|
||
draw, dashed, inner sep=5mm, inner ysep=8mm,line width=1pt,
|
||
fit=(vn10)(vn14)(cn10)(cn11)(vn30)(vn34)(cn30)(cn31)
|
||
]
|
||
(box2) {};
|
||
|
||
% Marker for solid box (positions 0–2)
|
||
\draw[line width=1pt] ([yshift=-5mm, line
|
||
width=1pt]box1.south west)
|
||
-- ++(0,-4mm)
|
||
coordinate (dim1l);
|
||
\draw[line width=1pt] ([yshift=-5mm]box1.south east)
|
||
-- ++(0,-4mm)
|
||
coordinate (dim1r);
|
||
\draw[{Latex}-{Latex}, line width=1pt]
|
||
([yshift=-2mm]dim1l) -- ([yshift=-2mm]dim1r)
|
||
node[midway, below=2pt] {$W$};
|
||
|
||
% Marker for step size F on top
|
||
\draw[line width=1pt] ([yshift=3mm]box2.north west)
|
||
-- ++(0,4mm)
|
||
coordinate (dim3l);
|
||
\draw[line width=1pt] ([yshift=3mm]box2.north west -|
|
||
box1.north west)
|
||
-- ++(0,4mm)
|
||
coordinate (dim3r);
|
||
\draw[{Latex}-{Latex}, line width=1pt]
|
||
([yshift=2mm]dim3l) -- ([yshift=2mm]dim3r)
|
||
node[midway, above=2pt] {$F$};
|
||
|
||
\draw[-{Latex}, line width=1pt] ([yshift=8mm] box1.north
|
||
east) -- ++(35mm,0);
|
||
\end{tikzpicture}
|
||
}%
|
||
\only<2->{
|
||
\begin{tikzpicture}[node distance = 7mm]
|
||
\node[VN] (vn00) {};
|
||
\node[VN, below = of vn00] (vn01) {};
|
||
\node[VN, below = of vn01] (vn02) {};
|
||
\node[VN, below = of vn02] (vn03) {};
|
||
\node[VN, below = of vn03] (vn04) {};
|
||
|
||
\coordinate (temp) at ($(vn01)!0.5!(vn02)$);
|
||
|
||
\node[CN, left =15mm of temp] (cn00) {};
|
||
\node[CN, below = of cn00] (cn01) {};
|
||
|
||
\draw (vn00) -- (cn00);
|
||
\draw (vn01) -- (cn00);
|
||
\draw (vn03) -- (cn00);
|
||
\draw (vn01) -- (cn01);
|
||
\draw (vn02) -- (cn01);
|
||
\draw (vn04) -- (cn01);
|
||
|
||
\foreach \i in {1,2,3,4} {
|
||
\pgfmathtruncatemacro{\prev}{\i-1}
|
||
|
||
\node[VN, right = 35mm of vn\prev 0] (vn\i0) {};
|
||
\node[VN, below = of vn\i0] (vn\i1) {};
|
||
\node[VN, below = of vn\i1] (vn\i2) {};
|
||
\node[VN, below = of vn\i2] (vn\i3) {};
|
||
\node[VN, below = of vn\i3] (vn\i4) {};
|
||
|
||
\coordinate (temp) at ($(vn\i1)!0.5!(vn\i2)$);
|
||
|
||
\node[CN, left = 15mm of temp] (cn\i0) {};
|
||
\node[CN, below = of cn\i0] (cn\i1) {};
|
||
|
||
\draw (vn\i0) -- (cn\i0);
|
||
\draw (vn\i1) -- (cn\i0);
|
||
\draw (vn\i3) -- (cn\i0);
|
||
\draw (vn\i1) -- (cn\i1);
|
||
\draw (vn\i2) -- (cn\i1);
|
||
\draw (vn\i4) -- (cn\i1);
|
||
}
|
||
|
||
\foreach \i in {1,2,3,4} {
|
||
\pgfmathtruncatemacro{\prev}{\i-1}
|
||
|
||
\draw (vn\prev 3) -- (cn\i 0);
|
||
\draw (vn\prev 4) -- (cn\i 1);
|
||
}
|
||
|
||
\node[
|
||
draw, inner sep=5mm,line width=1pt,
|
||
fit=(vn00)(vn04)(cn00)(cn01)(vn20)(vn24)(cn20)(cn21)
|
||
]
|
||
(box1) {};
|
||
\node[
|
||
draw, dashed, inner sep=5mm, inner ysep=8mm,line width=1pt,
|
||
fit=(vn10)(vn14)(cn10)(cn11)(vn30)(vn34)(cn30)(cn31)
|
||
]
|
||
(box2) {};
|
||
|
||
\draw[kit-orange, line width=2pt] (cn10) -- (vn10);
|
||
\draw[kit-orange, line width=2pt] (cn10) -- (vn11);
|
||
\draw[kit-orange, line width=2pt] (cn10) -- (vn13);
|
||
\draw[kit-orange, line width=2pt] (cn11) -- (vn11);
|
||
\draw[kit-orange, line width=2pt] (cn11) -- (vn12);
|
||
\draw[kit-orange, line width=2pt] (cn11) -- (vn14);
|
||
|
||
\draw[kit-orange, line width=2pt] (vn13) -- (cn20);
|
||
\draw[kit-orange, line width=2pt] (vn14) -- (cn21);
|
||
|
||
\draw[kit-orange, line width=2pt] (cn20) -- (vn20);
|
||
\draw[kit-orange, line width=2pt] (cn20) -- (vn21);
|
||
\draw[kit-orange, line width=2pt] (cn20) -- (vn23);
|
||
\draw[kit-orange, line width=2pt] (cn21) -- (vn21);
|
||
\draw[kit-orange, line width=2pt] (cn21) -- (vn22);
|
||
\draw[kit-orange, line width=2pt] (cn21) -- (vn24);
|
||
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn10) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn11) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn12) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn13) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn14) {};
|
||
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn20) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn21) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn22) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn23) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn24) {};
|
||
|
||
% Marker for solid box (positions 0–2)
|
||
\draw[line width=1pt] ([yshift=-5mm, line
|
||
width=1pt]box1.south west)
|
||
-- ++(0,-4mm)
|
||
coordinate (dim1l);
|
||
\draw[line width=1pt] ([yshift=-5mm]box1.south east)
|
||
-- ++(0,-4mm)
|
||
coordinate (dim1r);
|
||
\draw[{Latex}-{Latex}, line width=1pt]
|
||
([yshift=-2mm]dim1l) -- ([yshift=-2mm]dim1r)
|
||
node[midway, below=2pt] {$W$};
|
||
|
||
% Marker for step size F on top
|
||
\draw[line width=1pt] ([yshift=3mm]box2.north west)
|
||
-- ++(0,4mm)
|
||
coordinate (dim3l);
|
||
\draw[line width=1pt] ([yshift=3mm]box2.north west -|
|
||
box1.north west)
|
||
-- ++(0,4mm)
|
||
coordinate (dim3r);
|
||
\draw[{Latex}-{Latex}, line width=1pt]
|
||
([yshift=2mm]dim3l) -- ([yshift=2mm]dim3r)
|
||
node[midway, above=2pt] {$F$};
|
||
|
||
\draw[-{Latex}, line width=1pt] ([yshift=8mm] box1.north
|
||
east) -- ++(35mm,0);
|
||
\end{tikzpicture}
|
||
}
|
||
\end{figure}
|
||
|
||
\vspace*{-5mm}
|
||
|
||
\begin{itemize}
|
||
\item Pass messages \schlagwort{and decimation information}
|
||
to next window
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{BPGD: Passing Decimation Information}
|
||
|
||
\vspace{-19mm}
|
||
|
||
\begin{itemize}
|
||
\item Pass \schlagwort{decimation information} in addition to
|
||
CN to VN messages
|
||
\item \schlagwort{Worse performance} in the warm start case
|
||
\item Largest step size yields lowest error rate
|
||
\end{itemize}
|
||
|
||
\vspace{2mm}
|
||
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
minimum width=25mm,
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
]
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/*,2/kit-blue/triangle*,1/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, mark
|
||
options={fill=\col}, line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoderPassDecimation/max_iter_5000/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$F = \F$}
|
||
}
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/o,2/kit-blue/triangle,1/kit-orange/square}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_5000/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
|
||
\setlength{\tabcolsep}{3pt}
|
||
|
||
\node[
|
||
draw, fill=white,
|
||
anchor=south east, at={(current axis.south east)},
|
||
xshift=-40mm, yshift=3.15mm,
|
||
inner xsep=1mm,
|
||
] (linestyle legend) {
|
||
\begin{tabular}{ll}
|
||
\raisebox{4pt}{%
|
||
\tikz{%
|
||
\draw[black, densely dashed, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-2pt}{Cold start} \\[2.5pt]
|
||
\raisebox{5pt}{%
|
||
\tikz{%
|
||
\draw[black, solid, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-1pt}{Warm start}
|
||
\end{tabular}
|
||
};
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\vspace*{-14.5mm}
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code
|
||
\item $12$ \ac{se} rounds
|
||
\item \Ac{spa} + \ac{gd}
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $T = 1$
|
||
\item $n_\text{iterations} = 3{,}600$
|
||
\item $W = 5$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{BPGD: Warm-Start Sliding-Window Decoding II}
|
||
|
||
\vspace*{-15mm}
|
||
|
||
\begin{itemize}
|
||
\item Decimation information: \schlagwort{Premature hard
|
||
decision} on VNs
|
||
\end{itemize}
|
||
|
||
\vspace*{-5mm}
|
||
|
||
\begin{figure}[H]
|
||
\centering
|
||
|
||
\tikzset{
|
||
VN/.style={
|
||
circle, fill=kit-green,
|
||
inner sep=1.5mm,
|
||
},
|
||
CN/.style={
|
||
rectangle, fill=kit-blue,
|
||
inner sep=1.8mm,
|
||
},
|
||
}
|
||
|
||
\only<1>{
|
||
\begin{tikzpicture}[node distance = 7mm]
|
||
\node[VN] (vn00) {};
|
||
\node[VN, below = of vn00] (vn01) {};
|
||
\node[VN, below = of vn01] (vn02) {};
|
||
\node[VN, below = of vn02] (vn03) {};
|
||
\node[VN, below = of vn03] (vn04) {};
|
||
|
||
\coordinate (temp) at ($(vn01)!0.5!(vn02)$);
|
||
|
||
\node[CN, left =15mm of temp] (cn00) {};
|
||
\node[CN, below = of cn00] (cn01) {};
|
||
|
||
\draw (vn00) -- (cn00);
|
||
\draw (vn01) -- (cn00);
|
||
\draw (vn03) -- (cn00);
|
||
\draw (vn01) -- (cn01);
|
||
\draw (vn02) -- (cn01);
|
||
\draw (vn04) -- (cn01);
|
||
|
||
\foreach \i in {1,2,3,4} {
|
||
\pgfmathtruncatemacro{\prev}{\i-1}
|
||
|
||
\node[VN, right = 35mm of vn\prev 0] (vn\i0) {};
|
||
\node[VN, below = of vn\i0] (vn\i1) {};
|
||
\node[VN, below = of vn\i1] (vn\i2) {};
|
||
\node[VN, below = of vn\i2] (vn\i3) {};
|
||
\node[VN, below = of vn\i3] (vn\i4) {};
|
||
|
||
\coordinate (temp) at ($(vn\i1)!0.5!(vn\i2)$);
|
||
|
||
\node[CN, left = 15mm of temp] (cn\i0) {};
|
||
\node[CN, below = of cn\i0] (cn\i1) {};
|
||
|
||
\draw (vn\i0) -- (cn\i0);
|
||
\draw (vn\i1) -- (cn\i0);
|
||
\draw (vn\i3) -- (cn\i0);
|
||
\draw (vn\i1) -- (cn\i1);
|
||
\draw (vn\i2) -- (cn\i1);
|
||
\draw (vn\i4) -- (cn\i1);
|
||
}
|
||
|
||
\foreach \i in {1,2,3,4} {
|
||
\pgfmathtruncatemacro{\prev}{\i-1}
|
||
|
||
\draw (vn\prev 3) -- (cn\i 0);
|
||
\draw (vn\prev 4) -- (cn\i 1);
|
||
}
|
||
|
||
\node[
|
||
draw, inner sep=5mm,line width=1pt,
|
||
fit=(vn00)(vn04)(cn00)(cn01)(vn20)(vn24)(cn20)(cn21)
|
||
]
|
||
(box1) {};
|
||
\node[
|
||
draw, dashed, inner sep=5mm, inner ysep=8mm,line width=1pt,
|
||
fit=(vn10)(vn14)(cn10)(cn11)(vn30)(vn34)(cn30)(cn31)
|
||
]
|
||
(box2) {};
|
||
|
||
\draw[kit-orange, line width=2pt] (cn10) -- (vn10);
|
||
\draw[kit-orange, line width=2pt] (cn10) -- (vn11);
|
||
\draw[kit-orange, line width=2pt] (cn10) -- (vn13);
|
||
\draw[kit-orange, line width=2pt] (cn11) -- (vn11);
|
||
\draw[kit-orange, line width=2pt] (cn11) -- (vn12);
|
||
\draw[kit-orange, line width=2pt] (cn11) -- (vn14);
|
||
|
||
\draw[kit-orange, line width=2pt] (vn13) -- (cn20);
|
||
\draw[kit-orange, line width=2pt] (vn14) -- (cn21);
|
||
|
||
\draw[kit-orange, line width=2pt] (cn20) -- (vn20);
|
||
\draw[kit-orange, line width=2pt] (cn20) -- (vn21);
|
||
\draw[kit-orange, line width=2pt] (cn20) -- (vn23);
|
||
\draw[kit-orange, line width=2pt] (cn21) -- (vn21);
|
||
\draw[kit-orange, line width=2pt] (cn21) -- (vn22);
|
||
\draw[kit-orange, line width=2pt] (cn21) -- (vn24);
|
||
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn10) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn11) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn12) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn13) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn14) {};
|
||
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn20) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn21) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn22) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn23) {};
|
||
\node[VN, draw=kit-orange, fill=kit-orange] at (vn24) {};
|
||
|
||
% Marker for solid box (positions 0–2)
|
||
\draw[line width=1pt] ([yshift=-5mm, line
|
||
width=1pt]box1.south west)
|
||
-- ++(0,-4mm)
|
||
coordinate (dim1l);
|
||
\draw[line width=1pt] ([yshift=-5mm]box1.south east)
|
||
-- ++(0,-4mm)
|
||
coordinate (dim1r);
|
||
\draw[{Latex}-{Latex}, line width=1pt]
|
||
([yshift=-2mm]dim1l) -- ([yshift=-2mm]dim1r)
|
||
node[midway, below=2pt] {$W$};
|
||
|
||
% Marker for step size F on top
|
||
\draw[line width=1pt] ([yshift=3mm]box2.north west)
|
||
-- ++(0,4mm)
|
||
coordinate (dim3l);
|
||
\draw[line width=1pt] ([yshift=3mm]box2.north west -|
|
||
box1.north west)
|
||
-- ++(0,4mm)
|
||
coordinate (dim3r);
|
||
\draw[{Latex}-{Latex}, line width=1pt]
|
||
([yshift=2mm]dim3l) -- ([yshift=2mm]dim3r)
|
||
node[midway, above=2pt] {$F$};
|
||
|
||
\draw[-{Latex}, line width=1pt] ([yshift=8mm] box1.north
|
||
east) -- ++(35mm,0);
|
||
\end{tikzpicture}
|
||
}%
|
||
\only<2->{
|
||
\begin{tikzpicture}[node distance = 7mm]
|
||
\node[VN] (vn00) {};
|
||
\node[VN, below = of vn00] (vn01) {};
|
||
\node[VN, below = of vn01] (vn02) {};
|
||
\node[VN, below = of vn02] (vn03) {};
|
||
\node[VN, below = of vn03] (vn04) {};
|
||
|
||
\coordinate (temp) at ($(vn01)!0.5!(vn02)$);
|
||
|
||
\node[CN, left =15mm of temp] (cn00) {};
|
||
\node[CN, below = of cn00] (cn01) {};
|
||
|
||
\draw (vn00) -- (cn00);
|
||
\draw (vn01) -- (cn00);
|
||
\draw (vn03) -- (cn00);
|
||
\draw (vn01) -- (cn01);
|
||
\draw (vn02) -- (cn01);
|
||
\draw (vn04) -- (cn01);
|
||
|
||
\foreach \i in {1,2,3,4} {
|
||
\pgfmathtruncatemacro{\prev}{\i-1}
|
||
|
||
\node[VN, right = 35mm of vn\prev 0] (vn\i0) {};
|
||
\node[VN, below = of vn\i0] (vn\i1) {};
|
||
\node[VN, below = of vn\i1] (vn\i2) {};
|
||
\node[VN, below = of vn\i2] (vn\i3) {};
|
||
\node[VN, below = of vn\i3] (vn\i4) {};
|
||
|
||
\coordinate (temp) at ($(vn\i1)!0.5!(vn\i2)$);
|
||
|
||
\node[CN, left = 15mm of temp] (cn\i0) {};
|
||
\node[CN, below = of cn\i0] (cn\i1) {};
|
||
|
||
\draw (vn\i0) -- (cn\i0);
|
||
\draw (vn\i1) -- (cn\i0);
|
||
\draw (vn\i3) -- (cn\i0);
|
||
\draw (vn\i1) -- (cn\i1);
|
||
\draw (vn\i2) -- (cn\i1);
|
||
\draw (vn\i4) -- (cn\i1);
|
||
}
|
||
|
||
\foreach \i in {1,2,3,4} {
|
||
\pgfmathtruncatemacro{\prev}{\i-1}
|
||
|
||
\draw (vn\prev 3) -- (cn\i 0);
|
||
\draw (vn\prev 4) -- (cn\i 1);
|
||
}
|
||
|
||
\node[
|
||
draw, inner sep=5mm,line width=1pt,
|
||
fit=(vn00)(vn04)(cn00)(cn01)(vn20)(vn24)(cn20)(cn21)
|
||
]
|
||
(box1) {};
|
||
\node[
|
||
draw, dashed, inner sep=5mm, inner ysep=8mm,line width=1pt,
|
||
fit=(vn10)(vn14)(cn10)(cn11)(vn30)(vn34)(cn30)(cn31)
|
||
]
|
||
(box2) {};
|
||
|
||
\draw[kit-orange, line width=2pt] (cn10) -- (vn10);
|
||
\draw[kit-orange, line width=2pt] (cn10) -- (vn11);
|
||
\draw[kit-orange, line width=2pt] (cn10) -- (vn13);
|
||
\draw[kit-orange, line width=2pt] (cn11) -- (vn11);
|
||
\draw[kit-orange, line width=2pt] (cn11) -- (vn12);
|
||
\draw[kit-orange, line width=2pt] (cn11) -- (vn14);
|
||
|
||
\draw[kit-orange, line width=2pt] (vn13) -- (cn20);
|
||
\draw[kit-orange, line width=2pt] (vn14) -- (cn21);
|
||
|
||
\draw[kit-orange, line width=2pt] (cn20) -- (vn20);
|
||
\draw[kit-orange, line width=2pt] (cn20) -- (vn21);
|
||
\draw[kit-orange, line width=2pt] (cn20) -- (vn23);
|
||
\draw[kit-orange, line width=2pt] (cn21) -- (vn21);
|
||
\draw[kit-orange, line width=2pt] (cn21) -- (vn22);
|
||
\draw[kit-orange, line width=2pt] (cn21) -- (vn24);
|
||
|
||
% Marker for solid box (positions 0–2)
|
||
\draw[line width=1pt] ([yshift=-5mm, line
|
||
width=1pt]box1.south west)
|
||
-- ++(0,-4mm)
|
||
coordinate (dim1l);
|
||
\draw[line width=1pt] ([yshift=-5mm]box1.south east)
|
||
-- ++(0,-4mm)
|
||
coordinate (dim1r);
|
||
\draw[{Latex}-{Latex}, line width=1pt]
|
||
([yshift=-2mm]dim1l) -- ([yshift=-2mm]dim1r)
|
||
node[midway, below=2pt] {$W$};
|
||
|
||
% Marker for step size F on top
|
||
\draw[line width=1pt] ([yshift=3mm]box2.north west)
|
||
-- ++(0,4mm)
|
||
coordinate (dim3l);
|
||
\draw[line width=1pt] ([yshift=3mm]box2.north west -|
|
||
box1.north west)
|
||
-- ++(0,4mm)
|
||
coordinate (dim3r);
|
||
\draw[{Latex}-{Latex}, line width=1pt]
|
||
([yshift=2mm]dim3l) -- ([yshift=2mm]dim3r)
|
||
node[midway, above=2pt] {$F$};
|
||
|
||
\draw[-{Latex}, line width=1pt] ([yshift=8mm] box1.north
|
||
east) -- ++(35mm,0);
|
||
\end{tikzpicture}
|
||
}
|
||
\end{figure}
|
||
|
||
\vspace*{-5mm}
|
||
|
||
\begin{itemize}
|
||
\item Pass \schlagwort{only messages} to next window
|
||
\end{itemize}
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{BPGD Performance: Window Size}
|
||
|
||
\vspace*{-18mm}
|
||
|
||
\begin{itemize}
|
||
\item Examine decoding performance for \schlagwort{BPGD}
|
||
\item Jump in performance when most \acp{vn} are decimated
|
||
\end{itemize}
|
||
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
% xmode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
minimum width=25mm,
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-3, ymax=1e-1,
|
||
grid=both,
|
||
legend pos = north east,
|
||
xticklabels =
|
||
{$32$,$512$,$1{,}024$,,$2{,}048$,,$3{,}072$,,$4{,}096$},
|
||
xtick={32, 512, 1024, 1536, 2048, 2560, 3072,
|
||
3584, 4096},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Number of BP iterations},
|
||
ylabel={Per-round-LER},
|
||
]
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/o,4/kit-blue/triangle,5/kit-orange/square}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[
|
||
mark=\mark,
|
||
line width=2pt, densely dashed,
|
||
forget plot, \col
|
||
]
|
||
table[
|
||
col sep=comma, x=max_iter,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/max_iter/WindowingSyndromeSpaGdDecoder/p_0.0025/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \W/\col/\mark in
|
||
{3/kit-red/*,4/kit-blue/triangle*,5/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[
|
||
mark=\mark, mark options = {fill=\col},
|
||
line width=2pt, solid, \col
|
||
]
|
||
table[
|
||
col sep=comma, x=max_iter,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/max_iter/WindowingSyndromeSpaGdDecoder/p_0.0025/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$W = \W$}
|
||
}
|
||
\end{axis}
|
||
|
||
\setlength{\tabcolsep}{3pt}
|
||
|
||
\node[
|
||
draw, fill=white,
|
||
anchor=north east, at={(current axis.north east)},
|
||
xshift=-40mm, yshift=-3.15mm,
|
||
inner xsep=1mm,
|
||
] (linestyle legend) {
|
||
\begin{tabular}{ll}
|
||
\raisebox{4pt}{%
|
||
\tikz{%
|
||
\draw[black, densely dashed, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-2pt}{Cold start} \\[2.5pt]
|
||
\raisebox{5pt}{%
|
||
\tikz{%
|
||
\draw[black, solid, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-1pt}{Warm start}
|
||
\end{tabular}
|
||
};
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code
|
||
\item $12$ \ac{se} rounds
|
||
\item \ac{spa} + \ac{gd} decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $T = 1$
|
||
\item $p = 0.0025$
|
||
\item $F = 1$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{BPGD Performance: Step Size}
|
||
|
||
\vspace*{-18mm}
|
||
|
||
\begin{itemize}
|
||
\item Examine decoding performance for \schlagwort{BPGD}
|
||
\item Jump in performance when most \acp{vn} are decimated
|
||
\end{itemize}
|
||
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
% xmode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
minimum width=25mm,
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-3, ymax=1e-1,
|
||
grid=both,
|
||
legend pos = north east,
|
||
xticklabels =
|
||
{$32$,$512$,$1{,}024$,,$2{,}048$,,$3{,}072$,,$4{,}096$},
|
||
xtick={32, 512, 1024, 1536, 2048, 2560, 3072,
|
||
3584, 4096},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Number of BP iterations},
|
||
ylabel={Per-round-LER},
|
||
]
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/o,2/kit-blue/triangle,1/kit-orange/square}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=\mark, line width=2pt,
|
||
densely dashed, forget plot, \col]
|
||
table[
|
||
col sep=comma, x=max_iter,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/max_iter/WindowingSyndromeSpaGdDecoder/p_0.0025/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \F/\col/\mark in
|
||
{3/kit-red/*,2/kit-blue/triangle*,1/kit-orange/square*}
|
||
{
|
||
\edef\temp{\noexpand
|
||
\addplot+[
|
||
mark=\mark, mark options={fill=\col},
|
||
line width=2pt, solid, \col
|
||
]
|
||
table[
|
||
col sep=comma, x=max_iter,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/max_iter/WindowingSyndromeSpaGdDecoder/p_0.0025/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$F = \F$}
|
||
}
|
||
\end{axis}
|
||
|
||
\setlength{\tabcolsep}{3pt}
|
||
|
||
\node[
|
||
draw, fill=white,
|
||
anchor=north east, at={(current axis.north east)},
|
||
xshift=-40mm, yshift=-3.15mm,
|
||
inner xsep=1mm,
|
||
] (linestyle legend) {
|
||
\begin{tabular}{ll}
|
||
\raisebox{4pt}{%
|
||
\tikz{%
|
||
\draw[black, densely dashed, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-2pt}{Cold start} \\[2.5pt]
|
||
\raisebox{5pt}{%
|
||
\tikz{%
|
||
\draw[black, solid, line width=2pt]
|
||
(0,0) -- (0.6cm,0);%
|
||
}%
|
||
} & \raisebox{-1pt}{Warm start}
|
||
\end{tabular}
|
||
};
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code
|
||
\item $12$ \ac{se} rounds
|
||
\item \ac{spa} + \ac{gd} decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $T = 1$
|
||
\item $p = 0.0025$
|
||
\item $W = 5$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
\end{frame}
|
||
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
\section{Conclusion and Outlook}
|
||
\label{subsec:Conclusion and Outlook}
|
||
|
||
\begin{frame}
|
||
\frametitle{Conclusion and Outlook}
|
||
|
||
\vspace*{-7mm}
|
||
|
||
\begin{minipage}[c]{0.65\textwidth}
|
||
\begin{itemize}
|
||
\item Conclusion
|
||
\begin{itemize}
|
||
\item \schlagwort{Fault tolerance} important for scalable
|
||
quantum computing
|
||
\item Use soft information for warm start \\
|
||
$\implies$ \schlagwort{More effective
|
||
iterations}, no additional overhead
|
||
\end{itemize}
|
||
\visible<2->{
|
||
\item Future work
|
||
\begin{itemize}
|
||
\item Examine other \schlagwort{inner
|
||
decoders} (e.g.,
|
||
guided decimation guesssing
|
||
\citereferencemanual{GCR24},
|
||
neural BP4 \citereferencemanual{MSL$^+$25})
|
||
\item Exploit spatially-coupled structure for
|
||
\schlagwort{code design} (e.g., increase
|
||
coupling width)
|
||
\end{itemize}
|
||
}
|
||
\end{itemize}
|
||
\end{minipage}%
|
||
\begin{minipage}[c]{0.35\textwidth}
|
||
\centering
|
||
\visible<3->{
|
||
\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}
|
||
|
||
\vspace*{15mm}
|
||
|
||
\addreferencesmanual
|
||
{GCR24}{A. Gong et al., ``Toward low-latency iterative decoding
|
||
of qLDPC codes under circuit-level noise,'' arXiv:2403.18901, 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}
|
||
|
||
\appendix
|
||
\beginbackup
|
||
|
||
\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{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}
|
||
\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}
|
||
|
||
\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}
|
||
|
||
\begin{frame}
|
||
\frametitle{Guided Decimation Guessing Decoding}
|
||
|
||
\begin{minipage}{0.57\textwidth}
|
||
\begin{itemize}
|
||
\item BP with guided decimation (BPGD) \\
|
||
$\implies$ Iteratively fix most reliable
|
||
\ac{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 et al., ``Toward low-latency iterative decoding
|
||
of qLDPC codes under circuit-level noise,'' arXiv:2403.18901, 2024.
|
||
}
|
||
\stopreferencesmanual
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{The Detector Error Matrix}
|
||
|
||
\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 et al., ``Toward low-latency iterative decoding
|
||
of qLDPC codes under circuit-level noise,'' arXiv:2403.18901, 2024.
|
||
}
|
||
\stopreferencesmanual
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{BP Performance: Window Size II}
|
||
|
||
\vspace*{-18mm}
|
||
|
||
\begin{itemize}
|
||
\item Examine decoding performance for \schlagwort{BP}
|
||
\item Larger improvement for fewer iterations
|
||
\end{itemize}
|
||
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
% xmode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-3, ymax=1e-1,
|
||
grid=both,
|
||
legend pos = north east,
|
||
xtick={32,512,1024,2048,4096},
|
||
% xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Number of BP iterations},
|
||
ylabel={Per-round-LER},
|
||
extra description/.code={
|
||
\node[rotate=90, anchor=south]
|
||
at ([xshift=15mm]current axis.east)
|
||
{Warm s. (---), Cold s. (- - -)};
|
||
},
|
||
]
|
||
|
||
\foreach \W/\col in
|
||
{3/kit-red,4/kit-blue,5/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
densely dashed, forget plot, \col]
|
||
table[
|
||
col sep=comma, x=max_iter,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \W/\col in
|
||
{3/kit-red,4/kit-blue,5/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=max_iter,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$W = \W$}
|
||
}
|
||
\end{axis}
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code, \\
|
||
$12$ \ac{se} rounds
|
||
\item Min-sum decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $p = 0.0025$
|
||
\item $F = 1$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{BP Performance: Step Size II}
|
||
|
||
\vspace*{-18mm}
|
||
|
||
\begin{itemize}
|
||
\item Examine decoding performance for \schlagwort{BP}
|
||
\item Similar behavior to before
|
||
\end{itemize}
|
||
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
% xmode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-3, ymax=1e-1,
|
||
grid=both,
|
||
legend pos = north east,
|
||
xtick={32,512,1024,2048,4096},
|
||
% xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Number of BP iterations},
|
||
ylabel={Per-round-LER},
|
||
extra description/.code={
|
||
\node[rotate=90, anchor=south]
|
||
at ([xshift=15mm]current axis.east)
|
||
{Warm s. (---), Cold s. (- - -)};
|
||
},
|
||
]
|
||
|
||
\foreach \F/\col in
|
||
{3/kit-red,2/kit-blue,1/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
densely dashed, forget plot, \col]
|
||
table[
|
||
col sep=comma, x=max_iter,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \F/\col in
|
||
{3/kit-red,2/kit-blue,1/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=max_iter,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$F = \F$}
|
||
}
|
||
\end{axis}
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code, \\
|
||
$12$ \ac{se} rounds
|
||
\item Min-sum decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $p = 0.0025$
|
||
\item $W = 5$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{BPGD Performance: Window Size I}
|
||
|
||
\vspace*{-18mm}
|
||
|
||
\begin{itemize}
|
||
\item Examine decoding performance for \schlagwort{BPGD}
|
||
\item Larger improvement for lower error rate
|
||
\end{itemize}
|
||
|
||
\vspace*{5mm}
|
||
|
||
\only<1>{
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
extra description/.code={
|
||
\node[rotate=90, anchor=south]
|
||
at ([xshift=15mm]current axis.east)
|
||
{Warm s. (---), Cold s. (- - -)};
|
||
},
|
||
]
|
||
|
||
\foreach \W/\col in
|
||
{3/kit-red,4/kit-blue,5/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$W = \W$}
|
||
}
|
||
|
||
\foreach \W/\col in
|
||
{3/kit-red,4/kit-blue,5/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code, \\
|
||
$12$ \ac{se} rounds
|
||
\item \Ac{spa} + \ac{gd} decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $T = 1$
|
||
\item $n_\text{iterations} = 32$
|
||
\item $F = 1$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\only<2>{
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
extra description/.code={
|
||
\node[rotate=90, anchor=south]
|
||
at ([xshift=15mm]current axis.east)
|
||
{Warm s. (---), Cold s. (- - -)};
|
||
},
|
||
]
|
||
|
||
\foreach \W/\col in
|
||
{3/kit-red,4/kit-blue,5/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
solid, gray, opacity=0.35, forget plot]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \W/\col in
|
||
{3/kit-red,4/kit-blue,5/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
densely dashed, gray, opacity=0.35,
|
||
forget plot]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \W/\col in
|
||
{3/kit-red,4/kit-blue,5/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$W = \W$}
|
||
}
|
||
|
||
\foreach \W/\col in
|
||
{3/kit-red,4/kit-blue,5/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code, \\
|
||
$12$ \ac{se} rounds
|
||
\item \ac{spa} + \ac{gd} decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $T = 1$
|
||
\item $n_\text{iterations} = 200$
|
||
\item $F = 1$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\only<3>{
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
extra description/.code={
|
||
\node[rotate=90, anchor=south]
|
||
at ([xshift=15mm]current axis.east)
|
||
{Warm s. (---), Cold s. (- - -)};
|
||
},
|
||
]
|
||
|
||
% \foreach \W/\col in
|
||
% {3/kit-red,4/kit-blue,5/kit-orange} {
|
||
% \edef\temp{\noexpand
|
||
% \addplot+[mark=o, line width=2pt,
|
||
% solid, gray, opacity=0.15, forget plot]
|
||
% table[
|
||
% col sep=comma, x=physical_p,
|
||
% y=LER_per_round,
|
||
% ]
|
||
% {res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
% }
|
||
% \temp
|
||
% }
|
||
%
|
||
% \foreach \W/\col in
|
||
% {3/kit-red,4/kit-blue,5/kit-orange} {
|
||
% \edef\temp{\noexpand
|
||
% \addplot+[mark=o, line width=2pt,
|
||
% densely dashed, gray, opacity=0.15,
|
||
% forget plot]
|
||
% table[
|
||
% col sep=comma, x=physical_p,
|
||
% y=LER_per_round,
|
||
% ]
|
||
% {res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
% }
|
||
% \temp
|
||
% }
|
||
|
||
\foreach \W/\col in
|
||
{3/kit-red,4/kit-blue,5/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
solid, gray, opacity=0.35, forget plot]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \W/\col in
|
||
{3/kit-red,4/kit-blue,5/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
densely dashed, gray, opacity=0.35,
|
||
forget plot]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \W/\col in
|
||
{3/kit-red,4/kit-blue,5/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_5000/pass_soft_info_True/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$W = \W$}
|
||
}
|
||
|
||
\foreach \W/\col in
|
||
{3/kit-red,4/kit-blue,5/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_5000/pass_soft_info_False/F_1/W_\W/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code, \\
|
||
$12$ \ac{se} rounds
|
||
\item \ac{spa} + \ac{gd} decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $T = 1$
|
||
\item $n_\text{iterations} = n $
|
||
\item $F = 1$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\end{frame}
|
||
|
||
\begin{frame}
|
||
\frametitle{BPGD Performance: Step Size I}
|
||
|
||
\vspace*{-18mm}
|
||
|
||
\begin{itemize}
|
||
\item Examine decoding performance for \schlagwort{BPGD}
|
||
\item Similar behavior to before
|
||
\end{itemize}
|
||
|
||
\vspace*{5mm}
|
||
|
||
\only<1> {
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
extra description/.code={
|
||
\node[rotate=90, anchor=south]
|
||
at ([xshift=15mm]current axis.east)
|
||
{Warm s. (---), Cold s. (- - -)};
|
||
},
|
||
]
|
||
|
||
\foreach \F/\col in
|
||
{3/kit-red,2/kit-blue,1/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$F = \F$}
|
||
}
|
||
|
||
\foreach \F/\col in
|
||
{3/kit-red,2/kit-blue,1/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code, \\
|
||
$12$ \ac{se} rounds
|
||
\item \ac{spa} + \ac{gd} decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $T = 1$
|
||
\item $n_\text{iterations} = 32$
|
||
\item $W = 5$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\only<2> {
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
extra description/.code={
|
||
\node[rotate=90, anchor=south]
|
||
at ([xshift=15mm]current axis.east)
|
||
{Warm s. (---), Cold s. (- - -)};
|
||
},
|
||
]
|
||
|
||
\foreach \F/\col in
|
||
{3/kit-red,2/kit-blue,1/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
forget plot, solid, gray, opacity=0.35]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
forget plot, densely dashed, gray,
|
||
opacity=0.35]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_32/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \F/\col in
|
||
{3/kit-red,2/kit-blue,1/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$F = \F$}
|
||
}
|
||
|
||
\foreach \F/\col in
|
||
{3/kit-red,2/kit-blue,1/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code, \\
|
||
$12$ \ac{se} rounds
|
||
\item \ac{spa} + \ac{gd} decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $T = 1$
|
||
\item $n_\text{iterations} = 200$
|
||
\item $W = 5$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\only<3> {
|
||
\begin{minipage}{0.66\textwidth}
|
||
\centering
|
||
\begin{figure}[H]
|
||
\centering
|
||
\begin{tikzpicture}
|
||
\begin{axis}[
|
||
width=16cm,
|
||
height=12cm,
|
||
ymode=log,
|
||
legend style={
|
||
cells={anchor=west},
|
||
cells={align=left},
|
||
},
|
||
enlargelimits=false,
|
||
ymin=1e-5, ymax=2e-1,
|
||
grid=both,
|
||
legend pos = south east,
|
||
xtick={0.001,0.0015,...,0.004},
|
||
xticklabel style={/pgf/number format/fixed},
|
||
xticklabel style={/pgf/number format/precision=4},
|
||
scaled x ticks=false,
|
||
xlabel={Physical error rate},
|
||
ylabel={Per-round-LER},
|
||
extra description/.code={
|
||
\node[rotate=90, anchor=south]
|
||
at ([xshift=15mm]current axis.east)
|
||
{Warm s. (---), Cold s. (- - -)};
|
||
},
|
||
]
|
||
|
||
\foreach \F/\col in
|
||
{3/kit-red,2/kit-blue,1/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
forget plot, solid, gray, opacity=0.35]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
forget plot, densely dashed, gray,
|
||
opacity=0.35]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_200/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
|
||
\foreach \F/\col in
|
||
{3/kit-red,2/kit-blue,1/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
solid, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_5000/pass_soft_info_True/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
|
||
\addlegendentryexpanded{$F = \F$}
|
||
}
|
||
|
||
\foreach \F/\col in
|
||
{3/kit-red,2/kit-blue,1/kit-orange} {
|
||
\edef\temp{\noexpand
|
||
\addplot+[mark=o, line width=2pt,
|
||
densely dashed, \col]
|
||
table[
|
||
col sep=comma, x=physical_p,
|
||
y=LER_per_round,
|
||
]
|
||
{res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_5000/pass_soft_info_False/F_\F/W_5/LERs.csv};
|
||
}
|
||
\temp
|
||
}
|
||
\end{axis}
|
||
\end{tikzpicture}
|
||
\end{figure}
|
||
\end{minipage}%
|
||
\begin{minipage}{0.33\textwidth}
|
||
\centering
|
||
\begin{itemize}
|
||
\item $\llbracket 144,12,12\rrbracket$ \ac{bb} code, \\
|
||
$12$ \ac{se} rounds
|
||
\item \ac{spa} + \ac{gd} decoder
|
||
\item Parameters
|
||
\begin{itemize}
|
||
\item $T = 1$
|
||
\item $n_\text{iterations} = 5000$
|
||
\item $W = 5$
|
||
\end{itemize}
|
||
\end{itemize}
|
||
\end{minipage}
|
||
}
|
||
\end{frame}
|
||
|
||
\backupend
|
||
|
||
\end{document}
|
||
|