Add QUITS paper to review
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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}
|
||||
|
||||
|
||||
|
||||
@@ -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, ...)}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user