Add QUITS paper to review

This commit is contained in:
2026-05-01 10:41:54 +02:00
parent 682eeb644e
commit 1059b4d98f
3 changed files with 156 additions and 51 deletions

View File

@@ -23,6 +23,11 @@
long=belief propagation with guided decimation
}
\DeclareAcronym{gdg}{
short=GDG,
long=guided decimation guessing
}
\DeclareAcronym{nms}{
short=NMS,
long=normalized min-sum
@@ -122,3 +127,18 @@
short=BB,
long=bivariate bicycle
}
\DeclareAcronym{hgp}{
short=HGP,
long=hypergraph product
}
\DeclareAcronym{lp}{
short=LP,
long=lifted-product
}
\DeclareAcronym{bpc}{
short=BPC,
long=balanced product code
}

View File

@@ -107,35 +107,104 @@ time dimension.
Each of these windows is then decoded separately.
%%%%%%%%%%%%%%%%
\subsection{Existing Literature}
\label{subsec:Existing Literature}
\subsection{Review of Existing Literature}
\label{subsec:Review of Existing Literature}
% Review of existing literature
% Description of the figure
Research on this topic has been ongoing for some time, though mostly
for topological codes.
The literature on \ac{qldpc} codes is more limited. Figure
\Cref{fig:literature} gives an overview of the related body of work.
\Cref{fig:literature} gives an overview over the existing body of work
related to sliding-window decoding.
The papers \cite{huang_improved_2023} and \cite{huang_increasing_2024} are
lumped together, as they share the same content;
one is simply preprint published earlier.
We will only refer to \cite{huang_increasing_2024} in the following.
\cite{kang_quits_2025} is somewhat special in that the authors focus
more on the introduction of a new simluator framework they call
QUITS, rather than the performance of sliding-window decoding itself.
\cite{gong_toward_2024} and \cite{kang_quits_2025} have made their
software freely available online%
\footnote{
https://github.com/mkangquantum/quits
}%
\footnote{
https://github.com/gongaa/SlidingWindowDecoder
}.
A final thing to note is that \cite{dennis_topological_2002} never
explicitly mention sliding windows, they call their scheme
``overlapping recovery''.
\red{
\begin{itemize}
\item \cite{huang_increasing_2024} use BP+OSD,
\cite{gong_toward_2024} use BP+GDG
\item \cite{huang_improved_2023} use phenomenological noise,
\cite{gong_toward_2024} circuit-level noise
\item Go into the way the parallel decoding approaches
consolidate the overlap regions
\item \cite{huang_improved_2023} use hypegraph and lifted
product codes, \cite{gong_toward_2024} use BB codes
\item \cite{kuo_fault-tolerant_2024} use toric codes, the
rest of the topological papers surface codes
\item \cite{dennis_topological_2002} call their scheme ``overlap-add''
\item QUITS views sliding-window decoding more separately
\item Reasons for latency improvement ()
\end{itemize}
}
% Topological vs QLDPC
\begin{figure}[H]
Research has focused on two categories of \ac{qec} codes, topological
and \ac{qldpc} codes.
Most of the work on topological codes has treated surface codes,
with the exception of \cite{kuo_fault-tolerant_2024} where toric
codes were considered.
With regard to \ac{qldpc} codes, in \cite{huang_increasing_2024}
they examine \emph{hypergraph product} (\acs{hgp}) and
\emph{lifted-product} (\acs{lp}) codes.
HGP codes are constructed from the product of two classical codes,
while LP codes generalize this construction by additionally applying
a lift to reduce the qubit overhead.
In \cite{kang_quits_2025}, \emph{balanced product codes} (\acs{bpc})
are additionally considered.
Finally, in \cite{gong_toward_2024} the authors explore \ac{bb} codes.
% Sequential vs parallel
After having divided the whole circuit into separate windows, the question
arises of how exactly to realize the decoding.
There are two main approaches, with differing mechanisms of reducing
the latency.
Some papers decode the sliding windows in a parallel fashion.
The benefit in this case is the option to more effectively utilize
classical hardware for decoding.
Others choose a sequential approach.
Here, decoding can start earlier, as there is no need to wait for the
syndrome measurements of all windows before beginning with the decoding.
With the exception of \cite{dennis_topological_2002}, literature
treating topological codes has mostly focused on parallel decoding
while literature treating \ac{qldpc} codes has wholely considered
sequential decoding.
% Deep-dive into QLDPC methods
\renewcommand{\arraystretch}{1.1}
\setlength{\tabcolsep}{12pt}
\begin{table}[t]
\centering
\caption{Experimental conditions for papers related to \ac{qldpc} codes.}
\vspace*{3mm}
\label{table:experimental_conditions}
\begin{tabular}{l|ccc}
% tex-fmt: off
Publication & Code & Noise Model & Decoder \\ \hline
\hspace{-2.5mm}\cite{huang_improved_2023},\cite{huang_increasing_2024} & \acs{hgp}, \acs{lp} & Phenomenological noise & \acs{bp} + \acs{osd} \\
\hspace{-2.5mm}\cite{gong_toward_2024} & \acs{bb} & Circuit-level noise & \acs{bp} + \acs{gdg} \\
\hspace{-2.5mm}\cite{kang_quits_2025} & \acs{hgp}, \acs{lp}, \acs{bpc} & Circuit-level noise & \acs{bp} + \ac{osd}
% tex-fmt: on
\end{tabular}
\end{table}
For this work, the publications treating \ac{qldpc} codes are
especially interesting.
The experimental conditions for these are summarized in
\Cref{table:experimental_conditions}.
As we noted above, \ac{hgp} and \ac{lp} codes are considered in
\cite{huang_increasing_2024},
\ac{hgp}, \ac{lp} and \ac{bpc} codes are considered in \cite{kang_quits_2025},
and \ac{bb} codes are considered in \cite{gong_toward_2024}.
The employed noise models also differ;
\cite{huang_increasing_2024} use phenomenological noise, while
\cite{gong_toward_2024} and \cite{kang_quits_2025} use circuit-level noise.
Finally, \cite{gong_toward_2024} introduce their own variation of
\ac{bpgd}, \ac{bp} with \ac{gdg}, while \cite{huang_increasing_2024}
and \cite{kang_quits_2025} use \ac{bp} + \ac{osd}.
We would additionally like to note that only in
\cite{gong_toward_2024} and \cite{kang_quits_2025} do the authors
explicitly work with the \ac{dem} formalism.
\begin{figure}[t]
\centering
\tikzset{
@@ -156,20 +225,22 @@ The literature on \ac{qldpc} codes is more limited. Figure
}
}
\tikzexternaldisable
\begin{tikzpicture}[node distance = 0mm and 0mm]
% tex-fmt: off
\node[heading, minimum width=15mm, fill=gray!25] (code) {Code};
\node[heading, below right=1mm and -5mm of code, fill=orange!20] (top) {Topological};
\node[heading, below right=42mm and -5mm of code, fill=orange!20] (qldpc) {QLDPC};
\node[heading, minimum width=15mm, fill=gray!25] (code) {Code};
\node[heading, below right=2mm and -5mm of code, fill=orange!20] (top) {Topological};
\node[heading, below right=45mm and -5mm of code, fill=orange!20] (qldpc) {QLDPC};
\node[literature, below right=0mm and -12mm of top] (dennis) {\cite{dennis_topological_2002}};
\node[literature, below right=1mm and -12mm of top] (dennis) {\cite{dennis_topological_2002}};
\node[literature, below=of dennis] (tan) {\cite{tan_scalable_2023}};
\node[literature, below=of tan] (skoric) {\cite{skoric_parallel_2023}};
\node[literature, below=of skoric] (bombin) {\cite{bombin_modular_2023}};
\node[literature, below=of bombin] (kuo) {\cite{kuo_fault-tolerant_2024}};
\node[literature, below right=0mm and -12mm of qldpc] (huang) {\cite{huang_improved_2023},\cite{huang_increasing_2024}};
\node[literature, below right=1mm and -12mm of qldpc] (huang) {\cite{huang_improved_2023},\cite{huang_increasing_2024}};
\node[literature, below=of huang] (gong) {\cite{gong_toward_2024}};
\node[literature, below=of gong] (kang) {\cite{kang_quits_2025}};
\coordinate (code-anchor) at ($(code.south) + (-2mm,0)$);
\coordinate (top-anchor) at ($(top.south) + (-5mm,0)$);
@@ -186,6 +257,7 @@ The literature on \ac{qldpc} codes is more limited. Figure
\draw (qldpc-anchor) |- (huang);
\draw (qldpc-anchor) |- (gong);
\draw (qldpc-anchor) |- (kang);
\draw [
line width=1pt,
@@ -208,10 +280,11 @@ The literature on \ac{qldpc} codes is more limited. Figure
decorate,
decoration={brace,amplitude=2mm,raise=5mm}
]
(huang.north east) -- (gong.south east)
(huang.north east) -- (kang.south east)
node[midway,right,xshift=10mm]{Sequential};
% tex-fmt: on
\end{tikzpicture}
\tikzexternalenable
\caption{Overview of literature on sliding-window decoding.}
\label{fig:literature}
@@ -299,6 +372,21 @@ The literature on \ac{qldpc} codes is more limited. Figure
% \end{itemize}
% }
%%%%%%%%%%%%%%%%
\subsection{Window Generation}
\label{subsec:Window Generation}
In this section, we will examine the methodology by which a detector
error matrix is divided into overlapping windows.
The algorithm detailed here follows \cite{kang_quits_2025}, whose
work is in turn based on \cite{huang_increasing_2024}.
\red{
\begin{itemize}
\item QUITS views sliding-window decoding more separately
\end{itemize}
}
\content{Possibly go into the fact that current sliding-window
approaches don't differentiate clearly between the sliding-window
part and the decoder part. This work aims to extend the
@@ -306,10 +394,6 @@ The literature on \ac{qldpc} codes is more limited. Figure
different decoder parts. Combine this with QUITS modular structure
for sliding window decoding}
%%%%%%%%%%%%%%%%
\subsection{Implementation of Sliding-Window Decoding}
\label{subsec:Implementation of Sliding-Window Decoding}
We build on the approach taken by \cite{huang_increasing_2024} and
\cite{gong_toward_2024}.
@@ -361,7 +445,7 @@ with processing'' some VNs)}
\begin{tikzpicture}
\draw[{Latex}-{Latex}, line width=.7pt] (0, -0.75mm) -- (0, 5mm);
\draw[line width=1pt] (-1mm,-0.75mm) --
(3mm,-0.75mm);
(3mm,-0.75mm);
\draw[line width=1pt] (-1mm,5mm) -- (3mm,5mm);
\node[left] at (-2mm,2.125mm) {$\sim W$};
@@ -807,7 +891,7 @@ standard circuit-based depolarizing noise model, etc.)}
{3/KITred/triangle*,4/KITblue/diamond*,5/KITorange/square*} {
\edef\temp{\noexpand
\addplot+[mark=\mark, solid, mark
options={fill=\col}, \col]
options={fill=\col}, \col]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
@@ -888,7 +972,7 @@ options={fill=\col}, \col]
{3/KITred/triangle*,4/KITblue/diamond*,5/KITorange/square*} {
\edef\temp{\noexpand
\addplot+[mark=\mark, solid, mark
options={fill=\col}, \col]
options={fill=\col}, \col]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
@@ -971,7 +1055,7 @@ options={fill=\col}, \col]
{3/KITred/triangle*,2/KITblue/diamond*,1/KITorange/square*} {
\edef\temp{\noexpand
\addplot+[mark=\mark, solid, mark
options={fill=\col}, \col]
options={fill=\col}, \col]
table[
col sep=comma, x=physical_p,
y=LER_per_round,
@@ -1039,7 +1123,7 @@ options={fill=\col}, \col]
{3/KITred/triangle,4/KITblue/diamond,5/KITorange/square} {
\edef\temp{\noexpand
\addplot+[mark=\mark, densely dashed,
forget plot, \col]
forget plot, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
@@ -1110,7 +1194,7 @@ forget plot, \col]
{3/KITred/triangle,2/KITblue/diamond,1/KITorange/square} {
\edef\temp{\noexpand
\addplot+[mark=\mark, densely dashed,
forget plot, \col]
forget plot, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
@@ -1148,7 +1232,7 @@ forget plot, \col]
under circuit-level noise.
$12$ rounds of syndrome extraction were performed and
standard circuit-based depolarizing noise was chosen as the
noise model.
noise model.
The physical error probabilty was fixed to $0.0025$.
}
\end{figure}
@@ -1307,7 +1391,7 @@ noise model.
information.
$12$ rounds of syndrome extraction were performed and
standard circuit-based depolarizing noise was chosen as the
noise model.
noise model.
}
\end{figure}
@@ -1353,7 +1437,7 @@ noise model.
{3/KITred/triangle,4/KITblue/diamond,5/KITorange/square} {
\edef\temp{\noexpand
\addplot+[mark=\mark, densely dashed,
forget plot, \col]
forget plot, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
@@ -1424,7 +1508,7 @@ forget plot, \col]
{3/KITred/triangle,2/KITblue/diamond,1/KITorange/square} {
\edef\temp{\noexpand
\addplot+[mark=\mark, densely dashed,
forget plot, \col]
forget plot, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
@@ -1469,7 +1553,7 @@ forget plot, \col]
included only the messages on the Tanner graph.
$12$ rounds of syndrome extraction were performed and
standard circuit-based depolarizing noise was chosen as the
noise model.
noise model.
The physical error probabilty was fixed to $0.0025$.
}
\end{figure}
@@ -1624,7 +1708,7 @@ noise model.
included only the messages on the Tanner graph.
$12$ rounds of syndrome extraction were performed and
standard circuit-based depolarizing noise was chosen as the
noise model.
noise model.
}
\end{figure}
@@ -1670,7 +1754,7 @@ noise model.
{3/KITred/triangle,4/KITblue/diamond,5/KITorange/square} {
\edef\temp{\noexpand
\addplot+[mark=\mark, densely dashed,
forget plot, \col]
forget plot, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
@@ -1741,7 +1825,7 @@ forget plot, \col]
{3/KITred/triangle,2/KITblue/diamond,1/KITorange/square} {
\edef\temp{\noexpand
\addplot+[mark=\mark, densely dashed,
forget plot, \col]
forget plot, \col]
table[
col sep=comma, x=max_iter,
y=LER_per_round,
@@ -1786,9 +1870,8 @@ forget plot, \col]
included only the messages on the Tanner graph.
$12$ rounds of syndrome extraction were performed and
standard circuit-based depolarizing noise was chosen as the
noise model.
noise model.
The physical error probabilty was fixed to $0.0025$.
}
\end{figure}

View File

@@ -2,4 +2,6 @@
\content{\textbf{Ideas for further research}}
\content{Softer way of decimating VNs}
\content{Systematic study on using different inner decoders (AED,
SED, BPGD, ...)}