From 6b1821fd6b8c2c6be6276b27ae7da9572063fec1 Mon Sep 17 00:00:00 2001 From: Andreas Tsouchlos Date: Sat, 2 May 2026 17:28:20 +0200 Subject: [PATCH] Add TODOs; Add magnified plot to other figure --- src/thesis/chapters/4_decoding_under_dems.tex | 134 +++++++++++++----- 1 file changed, 97 insertions(+), 37 deletions(-) diff --git a/src/thesis/chapters/4_decoding_under_dems.tex b/src/thesis/chapters/4_decoding_under_dems.tex index 6aeed48..4c026c3 100644 --- a/src/thesis/chapters/4_decoding_under_dems.tex +++ b/src/thesis/chapters/4_decoding_under_dems.tex @@ -1657,6 +1657,32 @@ In the context of \ac{qec}, however, the relevant figure of merit is not total compute but decoding latency, and in terms of latency the sliding-window approach is still at an advantage. +% [Thread] Exploration of the effect of the step size + +% TODO: Write + +% [Experimental parameters] Figure 4.10 + +% tex-fmt: off +\red{\textbf{overall:}[warm, cold $F\in\{1,2,3\}$][$W=5$]} +\red{\textbf{a)}[$p \in \{\ldots\}$][$n_\text{iter} = 200$]} +\red{\textbf{b)}[$p = 0.0025$][$n_\text{iter}\in\{...\}$]} + +% [Description] Figure 4.10 + +\red{\textbf{a)}[lower F -> better performance, lower p -> larger +gain of warm vs soft, \textbf{TODO}: find more]} +\red{\textbf{b)}[lower F -> better performance, lower $n_\text{iter}$ +-> larger gain of warm vs soft, no real saturation, \textbf{TODO}: find more]} +% tex-fmt: on + +% [Interpretation] Figure 4.10 + +\red{[lower $n_\text{iter}$ -> larger gain is same behavior as seen +in plot before]} +\red{[lower F -> better performance makes sense for the same reason +larger W -> better performance: greater overlap]} + % At some later point \content{When looking at max iterations: Callback to diminishing returns with growing window size: More iterations more beneficial @@ -1735,41 +1761,14 @@ than larger window (+1 for warm-start)} \hfill% \begin{subfigure}{0.48\textwidth} \centering - \hspace*{-3mm} + \hspace*{-27mm} \begin{tikzpicture} - \begin{axis}[ - width=8cm, - height=6cm, - 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}, - 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}, - x tick label style={rotate=45, anchor=north east, - inner sep=1mm}, - scaled x ticks=false, - xlabel={Number of BP iterations}, - % yticklabels={\empty}, - % ylabel={Per-round-LER}, - extra description/.code={ - \node[rotate=90, anchor=south] - at ([xshift=10mm]current axis.east) - {Warm s. (---), Cold s. (- - -)}; - }, - ] + \def\spyxmin{32} + \def\spyxmax{512} + \def\spyymin{5e-3} + \def\spyymax{5e-2} + \newcommand{\plotcurvesb}{% \foreach \F/\col/\mark in {3/KITred/triangle,2/KITblue/diamond,1/KITorange/square} { \edef\temp{\noexpand @@ -1783,12 +1782,11 @@ than larger window (+1 for warm-start)} } \temp } - \foreach \F/\col/\mark in {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, forget plot] table[ col sep=comma, x=max_iter, y=LER_per_round, @@ -1796,10 +1794,72 @@ than larger window (+1 for warm-start)} {res/sim/max_iter/WindowingSyndromeMinSumDecoder/p_0.0025/pass_soft_info_True/F_\F/W_5/LERs.csv}; } \temp - - \addlegendentryexpanded{$F = \F$} } + } + + \begin{axis}[ + name=main, + width=8cm, + height=6cm, + ymode=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, 1536, 2048, 2560, 3072, 3584, 4096}, + xticklabels = + {$32$, $512$,$1{,}024$,,$2{,}048$,,$3{,}072$,,$4{,}096$}, + xticklabel style={/pgf/number format/fixed}, + xticklabel style={/pgf/number format/precision=4}, + x tick label style={rotate=45, anchor=north east, + inner sep=1mm}, + scaled x ticks=false, + xlabel={Number of BP iterations}, + extra description/.code={ + \node[rotate=90, anchor=south] + at ([xshift=10mm]current axis.east) + {Warm s. (---), Cold s. (- - -)}; + }, + ] + + \plotcurvesb + + \addlegendimage{KITorange, mark=square*} + \addlegendentry{$F = 1$} + \addlegendimage{KITblue, mark=diamond*} + \addlegendentry{$F = 2$} + \addlegendimage{KITred, mark=triangle*} + \addlegendentry{$F = 3$} + + \node[draw=black, fit={(axis cs:\spyxmin,\spyymin) (axis + cs:\spyxmax,\spyymax)}, inner sep=0pt, name=spybox] {}; \end{axis} + + \begin{axis}[ + name=inset, + at={(main.north west)}, + anchor=south, + xshift=-6mm, yshift=6mm, + width=6.5cm, height=4.875cm, + ymode=log, + enlargelimits=false, + xmin=\spyxmin, xmax=\spyxmax, + ymin=\spyymin, ymax=\spyymax, + xtick={32,128,256,512}, + yticklabels={\empty}, + xticklabels={\empty}, + grid=both, + axis background/.style={fill=white}, + ] + + \plotcurvesb + \end{axis} + + \draw (spybox.north east) -- (inset.south east); \end{tikzpicture} \vspace{-3.2mm}