2 Commits

3 changed files with 344 additions and 112 deletions

View File

@@ -1058,3 +1058,15 @@
month = dec, month = dec,
year = {2023}, year = {2023},
} }
@article{gidney_fault-tolerant_2021,
title = {A {Fault}-{Tolerant} {Honeycomb} {Memory}},
volume = {5},
issn = {2521-327X},
doi = {10.22331/q-2021-12-20-605},
journal = {Quantum},
author = {Gidney, Craig and Newman, Michael and Fowler, Austin and Broughton, Michael},
month = dec,
year = {2021},
pages = {605},
}

View File

@@ -3,41 +3,121 @@
% Intro % Intro
\content{Syndrome extraction circuitry itself introduces errors} An important challenge of \ac{qec} that was recognized early on is
\content{High level explanation of fault tolerance (with figure)} the fact that the error correction machinery itself may introduce new
\content{Mathematical definition of fault tolerance} errors \cite[Sec.~III]{shor_scheme_1995}.
Specifically for stabilizer codes, errors may happen during the
syndrome extraction process, since it is implemented in quantum hardware itself.
We call the errors the \ac{qec} procedure is supposed to correct
\emph{input errors} and the errors introduced by the procedure itself
\emph{internal errors}.
In order to be \emph{fault-tolerant}, the procedure must be able to
address both types of errors.
% Definition of fault tolerance
% TODO: Different variable name for N?
We model the possible occurrence of errors during any processing
stage as different \emph{error locations} $E_i,~i\in \{1,\ldots,N\}$
in the circuit.
$N \in \mathbb{N}$ is the total number of error locations.
The \emph{circuit error vector} $\bm{e} \in \{0,1\}^N$ is a vector
indicating which errors occurred, with
\begin{align*}
e_i :=
\begin{cases}
1, & \text{Error $E_i$ occurred} \\
0, & \text{otherwise}
\end{cases}
.%
\end{align*}
\autoref{fig:fault_tolerance_overview} illustrates the flow of errors.
Specifically for \ac{css} codes, a \ac{qec} procedure is deemed
\emph{fault-tolerant}, if \cite[Def.~4.2]{derks_designing_2025}
\begin{gather*}
\lVert \bm{e}_{\text{output},X} \rVert \le t \hspace{5mm}
\forall\, \bm{e}_\text{input}, \bm{e}_\text{internal} \in \{0,1\}^N:
\lVert \bm{e}_\text{input} \rVert + \lVert \bm{e}_\text{internal}
\rVert \le t \\[1mm]
\text{and} \\[1mm]
\lVert \bm{e}_{\text{output},Z} \rVert \le t \hspace{5mm}
\forall\, \bm{e}_\text{input}, \bm{e}_\text{internal} \in \{0,1\}^N:
\lVert \bm{e}_\text{input} \rVert + \lVert \bm{e}_\text{internal}
\rVert \le t
,%
\end{gather*}
where $t = \lfloor (d_\text{min} -1)/2 \rfloor$ is the number of
errors the code is able to correct.
The vectors $\bm{e}_{\text{output},X}$ and $\bm{e}_{\text{output},Z}$
denote only $X$ and $Z$ errors respectively.
In order to deal with errors during the syndrome extraction that flip
single syndrome bits, multiple rounds of syndrome measurements must
be performed.
Typically, the number of syndrome extraction rounds is chosen as $d_\text{min}$.
% % This is the definition of a fault-tolerant QEC gadget
% A \ac{qec} procedure is deemed fault tolerant if
% \cite[Def.~5]{gottesman_introduction_2009}
% \begin{align*}
% % tex-fmt: off
% \text{A)}
% % tex-fmt: on
% \hspace{5mm} & \lVert \bm{e}_\text{output} \rVert
% \le \lVert \bm{e}_\text{internal} \rVert
% \hspace{5mm} \forall\,
% \bm{e}_\text{input}, \bm{e}_\text{internal} \in \{0,1\}^N :
% \lVert \bm{e}_\text{internal} \rVert \le t \\
% % tex-fmt: off
% \text{B)}
% % tex-fmt: on
% \hspace{5mm} & \lVert \bm{e}_\text{output} \rVert = 0
% \hspace{19.3mm} \forall\,
% \bm{e}_\text{input}, \bm{e}_\text{internal} \in \{0,1\}^N :
% \lVert \bm{e}_\text{input} \rVert + \lVert \bm{e}_\text{internal}
% \rVert \le t
% ,
% \end{align*}
% where $t = \lfloor (d_\text{min} -1)/2 \rfloor$ is the number of
% errors the original code is able to correct.
% Condition A limits the spread of input errors during the error
% correction process.
% Condition B means that as long as there are few enough internal and
% input errors, the scheme should be able to correct all of them.
% Practical considerations % Practical considerations
\content{We generally need to perform multiple rounds of syndrome extraction} % TODO: Are the fault-tolerant QEC procedures where we don't perform
\content{The number of rounds of syndrome extraction is usually % multiple measurement rounds?
chosen equal to the $d_\text{min}$ of the code}
\content{One-shot decoding property}
\begin{figure}[H] \begin{figure}[t]
\centering \centering
\begin{tikzpicture} \begin{tikzpicture}
\node[rectangle, draw, fill=orange!20, minimum \node[rectangle, draw, fill=orange!20, minimum
height=2cm, minimum width=2.5cm, align=left] at (0,0) height=2cm, minimum width=2.5cm, align=center] at (0,0)
(internal) {Internal\\ Errors}; (internal) {Internal Errors\\ $\bm{e}_\text{internal}$};
\node[signal, draw, fill=orange!20, minimum height=2cm, \node[signal, draw, fill=orange!20, minimum height=2cm,
minimum width=2.5cm, align=left, signal pointer angle=140] minimum width=2.5cm, align=center, signal pointer angle=140]
at (-2.45, 0) (input) {Input\\ Errors}; at (-2.8, 0) (input) {Input Errors \\ $\bm{e}_\text{input}$};
\node at (1.97,0) {\huge =}; \node at (1.99,0) {\huge =};
\node[rectangle, draw, fill=orange!20, minimum height=2cm, \node[rectangle, draw, fill=orange!20, minimum height=2cm,
minimum width=2.5cm, align=left] at (4,0) (output) minimum width=2.5cm, align=center] at (4,0) (output)
{Output\\ Errors}; {Output Errors\\ $\bm{e}_\text{output}$};
\node[above] at (input.north) {\small Input State}; \node[above] at (input.north) {\small Input State};
\node[above] at (internal.north) {\small QEC}; \node[above] at (internal.north) {\small QEC};
\node[above] at (output.north) {\small Output State}; \node[above] at (output.north) {\small Output State};
\end{tikzpicture} \end{tikzpicture}
\caption{Sources of error in a fault-tolerant \ac{qec} system.} \caption{
Sources of error in a fault-tolerant \ac{qec} system.
Adapted from \cite[Figure~2]{derks_designing_2025}.
}
\label{fig:fault_tolerance_overview}
\end{figure} \end{figure}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -46,77 +126,112 @@ chosen equal to the $d_\text{min}$ of the code}
% Intro % Intro
\content{Explanation of what a noise model is} We collect the probabilities of error at each location in the
\content{Mention there are different types of noise models, each with \emph{noise model}, a vector $\bm{p} \in [0,1]^N$, where $N \in
different possible error locations} \mathbb{N}$ is the number of possible error locations.
There are different types of noise models, each allowing for
different error locations in the circuit.
% Figure intro % Figure intro
\content{\autoref{fig:pure_syndrome_extraction} shows the syndrome We will illustrate the most widely used types of error models on the
extraction circuit of a three-qubit repetition code with stabilizers example of the three-qubit repetition code for $X$ errors.
$Z_1Z_2$ and $Z_2Z_3$. This code is only able to deal with X errors. This code has stabilizers $Z_1Z_2$ and $Z_2Z_3$.
We will use it as a propotypical model to examine the different types \autoref{fig:pure_syndrome_extraction} shows the respective
of noise models} check matrix and syndrome extraction circuit.
\content{This is now a concrete implementation of the syndrome We refer to the qubits carrying the logical state
measurement circuit using CNOT gates, as opposed to the system-level $\ket{\psi}_\text{L}$ as \emph{data qubits}.
view in \autoref{subsec:Stabilizer Codes}} Note that this is a concrete implementation using CNOT gates, as
\content{\autoref{fig:noise_model_types} shows a number of diffent opposed to the system-level view introduced in
types of noise models} \autoref{subsec:Stabilizer Codes}.
We visualize the different types of noise models in
\autoref{fig:noise_model_types}.
% Bit-flip noise % Bit-flip noise
\content{Bit-flip noise} The simplest type of noise model is \emph{bit-flip} noise.
\content{Introduce \emph{data qubits}} This corresponds to the classical \ac{bsc}, i.e., only $X$ errors on the
\content{Only X errors on data qubits} data qubits are possible \cite[Appendix~A]{gidney_new_2023}.
\content{Most similar to classical channel coding} Note that we cannot use bit-flip noise to develop fault-tolerant
\content{\textbf{TODO}: What is this useful for? Just as a first step?} systems, as it doesnt't account for errors during the syndrome extraction.
This type of noise model is shown in \autoref{subfig:bit_flip}.
% Depolarizing channel % Depolarizing channel
\content{Depolarizing channel} Extending bit-flip noise to consider $X,Z$ or $Y$ instead of just $X$
\content{X/Y/Z errors on data qubits} errors, we obtain the \emph{depolarizing channel}
\content{\textbf{TODO}: What does this model? Memory experiment with \cite[Sec.~7.6]{gottesman_stabilizer_1997}, depicted in
ideal syndrome extraction?} \autoref{subfig:depolarizing}.
\content{\textbf{TODO}: Why is it called depolarizing?} It is well-suited for modeling memory experiments, where data qubits
are stored idly for some period of time and errors accumulate due to
decoherence.
Bit-flip noise and the depolarizing channel are sometimes referred to
as \emph{code capacity noise models}.
% Phenomenological noise % Phenomenological noise
\content{Phenomenological noise} The \emph{phenomenological noise model} is the first type of noise model we
\content{First noise model that considers errors during syndrome extraction} examine that accounts for faults during the syndrome extraction.
\content{X errors before each syndrome extraction round} Here, we consider multiple rounds of syndrome measurements with a
\content{X errors before measurements} depolarizing channel before each round.
\content{\textbf{TODO}: Why is this useful? Derks et al. mentioned Additionally, we allow for measurement errors by having $X$ error
something about it being useful to derive fault-tolerant circuits} locations right before each measurement \cite[Appendix~A]{gidney_new_2023}.
\content{\textbf{TODO}: Make sure phenomenological noise is only X errors} Note that it is enough to only consider $X$ errors at this point,
since that is the only type of error directly affecting the
measurement outcomes.
While not fully capturing all possible error mechanisms,
phenomenological noise is already expressive enough to be used for
the design of fault-tolerant circuitry \cite[Sec.~4.2]{derks_designing_2025}.
This model is depicted in \autoref{subfig:phenomenological}.
% Circuit-level noise % Circuit-level noise
\content{Circuit-level noise} The most general type of noise model is \emph{circuit-level noise}.
\content{This is generally what we strive to be able to decode under} Here we not only consider noise inbetween syndrome extraction rounds
\content{X/Y/Z errors before each syndrome extraction round} and at the measurements, but at each gate.
\content{$n$-qubit Pauli errors after each $n$-qubit Pauli gate} Specifically, we allow arbitrary $n$-qubit Pauli errors after each
\content{Define $n$-qubit Pauli errors} $n$-qubit gate \cite[Def.~2.5]{derks_designing_2025}.
\content{X errors right before the measurements} An $n$-qubit Pauli error is simply a series of correlated Pauli
\content{Note that the only errors right before the measurements that errors on each related individual qubit.
have any effect on the measurement outcomes are X errors. That is why While phenomenological noise is useful for some design aspects of
it is enough to consider this type of error at this point in the circuit.} fault tolerant circuitry, for simulations, circuit-level noise should
always be used \cite[Sec.~4.2]{derks_designing_2025}.
This type of noise model is shown in \autoref{subfig:circuit_level}.
% Different noise models for circuit-level noise % Practical simulation aspects
\content{Comparison from Gidney's paper} While these types of noise models give us some constraints on the
\content{In this work we only consider standard circuit-based types and locations of errors, the question of how exactly to choose
depolarizing noise} their probabilities remains.
When performing simulations, we typically sweep a range of values of
the \emph{physical error rate} $p$, and there are different ways of
obtaining the noise model $\bm{p}$ from this physical error rate.
For the depolarizing channel in particular, we usually choose the
same error rate $p/3$ for $X$, $Z$, and $Y$ errors.
For circuit-level noise, various options exist, such as the \emph{SI1000}
(superconducting inspired) or the \emph{EM3} (entangling
measurements) models \cite[Sec.~2.1]{gidney_fault-tolerant_2021}.
These differ in the way they compute individual error probabilities
from the physical error rate.
In this work we only consider \emph{standard circuit-based depolarizing
noise}, as this is the standard approach in the literature.
We thus set the error probabilities of all error locations in the
circuit-level noise model to the same value, the physical error rate $p$.
\begin{figure}[H] \begin{figure}[t]
\centering \centering
\begin{minipage}{0.5\textwidth} \begin{minipage}{0.5\textwidth}
\begin{align*} \begin{align*}
\bm{H} = \bm{H} =
\begin{pmatrix} \left[
1 & 1 & 0 \\ \begin{array}{ccc|ccc}
0 & 1 & 1 0 & 0 & 0 & 0 & 0 & 0 \\
\end{pmatrix} 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 1 & 1 & 0 \\
0 & 0 & 0 & 0 & 1 & 1
\end{array}
\right]
\end{align*} \end{align*}
\end{minipage}% \end{minipage}%
\begin{minipage}{0.5\textwidth} \begin{minipage}{0.5\textwidth}
@@ -138,7 +253,7 @@ depolarizing noise}
\label{fig:pure_syndrome_extraction} \label{fig:pure_syndrome_extraction}
\end{figure} \end{figure}
\begin{figure}[H] \begin{figure}[t]
\centering \centering
\newcommand{\xerr}{\gate[style={fill=KITblue!50}]{\phantom{1}}} \newcommand{\xerr}{\gate[style={fill=KITblue!50}]{\phantom{1}}}
@@ -181,6 +296,7 @@ depolarizing noise}
% tex-fmt: on % tex-fmt: on
\subcaption{Bit-flip noise.} \subcaption{Bit-flip noise.}
\label{subfig:bit_flip}
\end{minipage} \end{minipage}
\vspace*{5mm} \vspace*{5mm}
@@ -198,6 +314,7 @@ depolarizing noise}
% tex-fmt: on % tex-fmt: on
\subcaption{Depolarizing channel.} \subcaption{Depolarizing channel.}
\label{subfig:depolarizing}
\end{minipage} \end{minipage}
\vspace*{5mm} \vspace*{5mm}
@@ -206,15 +323,16 @@ depolarizing noise}
\centering \centering
% tex-fmt: off % tex-fmt: off
\begin{quantikz}[row sep=4mm, column sep=4mm] \begin{quantikz}[row sep=4mm, column sep=4mm]
\lstick[3]{$\ket{\psi}_\text{L}$} & \xerr & \ctrl{3} & & & & & & \xerr & & \setwiretype{n} & \\ \lstick[3]{$\ket{\psi}_\text{L}$} & \xyzerr & \ctrl{3} & & & & & & \xyzerr & & \setwiretype{n} & \\
& \xerr & & \ctrl{2} & \ctrl{3} & & & & \xerr & & \setwiretype{n} & \gate[style={left,draw=none}]{\cdots} \\ & \xyzerr & & \ctrl{2} & \ctrl{3} & & & & \xyzerr & & \setwiretype{n} & \gate[style={left,draw=none}]{\cdots} \\
& \xerr & & & & \ctrl{2} & & & \xerr & & \setwiretype{n} & \\ & \xyzerr & & & & \ctrl{2} & & & \xyzerr & & \setwiretype{n} & \\
\lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & \xerr & \meter{} & \setwiretype{c} \\ \lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & \xerr & \meter{} & \setwiretype{c} \\
\lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & \xerr & \meter{} & \setwiretype{c} \lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & \xerr & \meter{} & \setwiretype{c}
\end{quantikz} \end{quantikz}
% tex-fmt: on % tex-fmt: on
\subcaption{Phenomenological noise.} \subcaption{Phenomenological noise.}
\label{subfig:phenomenological}
\end{minipage} \end{minipage}
\vspace*{5mm} \vspace*{5mm}
@@ -232,6 +350,7 @@ depolarizing noise}
% tex-fmt: on % tex-fmt: on
\subcaption{Circuit-level noise.} \subcaption{Circuit-level noise.}
\label{subfig:circuit_level}
\end{minipage} \end{minipage}
\end{minipage}% \end{minipage}%
\hfill% \hfill%
@@ -241,7 +360,7 @@ depolarizing noise}
\begin{quantikz}[row sep=4mm, column sep=2mm] \begin{quantikz}[row sep=4mm, column sep=2mm]
\setwiretype{n} & \xerr & \gate[style={right, draw=none, xshift=-15mm}]{\text{X error}} \\ \setwiretype{n} & \xerr & \gate[style={right, draw=none, xshift=-15mm}]{\text{X error}} \\
\setwiretype{n} & \xyzerr & \gate[style={right, draw=none, xshift=-15mm}]{\text{X,Z, or Y error}} \\ \setwiretype{n} & \xyzerr & \gate[style={right, draw=none, xshift=-15mm}]{\text{X,Z, or Y error}} \\
\setwiretype{n} & \gate{\phantom{1}}\wire[d][1]{q} & \gate[style={right, draw=none, xshift=-15mm},2]{\text{Correlated error}} \\ \setwiretype{n} & \gate{\phantom{1}}\wire[d][1]{q} & \gate[style={right, draw=none, xshift=-15mm},2]{\text{Two-qubit error}} \\
\setwiretype{n} & \gate{\phantom{1}} & \setwiretype{n} & \gate{\phantom{1}} &
\end{quantikz} \end{quantikz}
% tex-fmt: on % tex-fmt: on
@@ -255,53 +374,81 @@ depolarizing noise}
\section{Detector Error Models} \section{Detector Error Models}
\label{sec:Detector Error Models} \label{sec:Detector Error Models}
\content{\textbf{TODO}: Look up how Derks et al. introduce DEMs} \emph{Detector error models} constitue a standardized framework for
passing information about the circuit used for \ac{qec} to a decoder.
% Different ways of implementing fault tolerance They are also useful in the design of fault-tolerant \ldots such as
fault-tolerant quantum computing schemes \cite[Sec.~1]{derks_designing_2025}.
\content{Ways of implementing fault tolerance different from DEMs} % While alternate ways of considering fault tolerance exist, detector
% error models
% benefit from the fact that
\content{Benefits of this approach \cite[Sec.~4.2]{derks_designing_2025}}
% Core idea % Core idea
\content{Model additional error locations in the code} The goal we strive to achieve is to consider the possible error
\content{Construct ``circuit code'' from original code} locations in the syndrome extraction circuitry during decoding.
The core idea behind detector error models is to do this by defining
% Benefits a new \emph{circuit code} that describes the circuit.
Each \ac{vn} of this new code corresponds to an error location in the
\content{Benefits of this approach} circuit and each corresponds to a \ac{cn} to a syndrome measurement.
This circuit code, combined with the prior probabilities of error
given by the noise model, incorporates all information necessary for decoding.
%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%
\subsection{Measurement Syndrome Matrix} \subsection{Measurement Syndrome Matrix}
\label{subsec:Measurement Syndrome Matrix} \label{subsec:Measurement Syndrome Matrix}
% Core idea % Mathematical definition
\content{Core idea: Matrix describes parity checks \\ We describe the circuit code using the \emph{measurement syndrome
$\rightarrow$ A column shows which parity checks the matrix} matrix $\bm{\Omega} \in \mathbb{F}_2^{m\times N}$, with
corresponding VN contributes to \\ \begin{align*}
$\rightarrow$ View columns as syndromes corresponding to error \Omega_{j,i} =
locations in the circuit \begin{cases}
} 1, & \text{Error $i$ flips measurement $j$}\\
0, & \text{otherwise}
\end{cases}
.%
\end{align*}
This matrix thus defines the code based on which error mechanism
flips which measurement, rather than the Pauli type and location of
each error \cite[Sec.~1.4.3]{higgott_practical_2024}.
To obtain $\bm{\Omega}$, we must propagate Pauli errors through the
circuit, tracking which measurements they affect
\cite[Sec.~2.4]{derks_designing_2025}.
% Multiple rounds of syndrome extraction % Example
% TODO: First introduce syndrome measurement matrix, mathematically % TODO: Fix syndrome dimension notation
% (consult Derks et al.'s paper). Then use the three-qubit repetition We turn to our example of the three-qubit repetition code to
% code as an example only illustrate the construction of the syndrome measurement matrix.
\autoref{fig:rep_code_multiple_rounds_bit_flip} shows a circuit We begin by replicating the syndrome extraction circuitry, three
performing three rounds of syndrome extraction for the three-qubit times in this case, as can be seen in
repetition code introduced earlier. \autoref{fig:rep_code_multiple_rounds_bit_flip}.
We are only considering bit-flip noise at this point. We consider only bit flip noise at this stage.
For each syndrome extraction round, we get an additional set of For each syndrome extraction round we get an additional set of
syndrome measurements. syndrome measurements.
We combine these measurements by stacking them in a new vector $\bm{s} We combine these measurements by stacking them in a new vector $\bm{s}
\in \mathbb{F}_2^{n_\text{rounds}\cdot(n-k)}$. \in \mathbb{F}_2^{n_\text{rounds}\cdot(n-k)}$.
To model this behavior mathematically, we append additional rows to To accomodate the additional syndrome bits, we extend the
the check matrix. matrix $\bm{\Omega}$ representing the circuit by replicating the rows as well.
We call this matrix the \emph{measurement syndrome matrix} Recall that $\bm{\Omega}$ describes which \ac{vn} is connected to
$\bm{\Omega}$. which parity check and the syndrome indicates which parity checks
are violated.
This means that if an error exists at only a single \ac{vn}, we can
read off the syndrome in the corresponding column.
\begin{figure}[H] % Expand to phenomenological
We now whish to expand the error model to phenomenological noise, though
only considering $X$ errors in this case.
We introduce new error locations at the respective positions,
arriving at the circuit depicted in
\autoref{fig:rep_code_multiple_rounds_phenomenological}.
For each additional error location, we extend $\bm{\Omega}$ by
appending the corresponding syndrome vector as a column.
\begin{figure}[t]
\centering \centering
\begin{minipage}{0.3\textwidth} \begin{minipage}{0.3\textwidth}
@@ -412,7 +559,7 @@ $\bm{\Omega}$.
\label{fig:rep_code_multiple_rounds_bit_flip} \label{fig:rep_code_multiple_rounds_bit_flip}
\end{figure} \end{figure}
\begin{figure}[H] \begin{figure}[t]
\begin{gather*} \begin{gather*}
\hspace*{-33.3mm}% \hspace*{-33.3mm}%
\begin{array}{c} \begin{array}{c}
@@ -503,6 +650,7 @@ $\bm{\Omega}$.
Repeated syndrome extraction circuit for the three-qubit Repeated syndrome extraction circuit for the three-qubit
repetition code under phenomenological noise. repetition code under phenomenological noise.
} }
\label{fig:rep_code_multiple_rounds_phenomenological}
\end{figure} \end{figure}
%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%
@@ -517,14 +665,86 @@ may wish to combine them in some way.
We call such combinations \emph{detectors}. We call such combinations \emph{detectors}.
Formally, a detector is a parity constraint on a set of measurement Formally, a detector is a parity constraint on a set of measurement
outcomes \cite[Def.~2.1]{derks_designing_2025}. outcomes \cite[Def.~2.1]{derks_designing_2025}.
Chaning the perspective in this way does not change the theoretical
error correcting capabilities of the circuit, but it may change the
decoding performance when using a practical decoder.
\red{[Possibly a few more words on this (maybe a mathematical
proof/intuition?)]}
\content{Detector matrix} % The detector matrix
\content{Detector error matrix} % TODO: Fix the notation mess
We describe the relationship between measurements and detectors using
the \emph{detector matrix} $\bm{D} \in \mathbb{F}_2^{d\times m}$
\cite[Def.~2.2]{derks_designing_2025}.
Similar to the way a \ac{pcm} connects bits with parity checks, the
detector matrix links measurements and detectors.
Each column corresponds to a measurement, while the rows correspond
to the detectors.
We should note at this point that the combination of measurements
into detectors has no bearing on the actual construction of the
syndrome extraction circuitry.
It is something that happens ``virtually'' after the fact and only
affects the decoder.
\content{One way of defining the detectors is ...} % The detector error matrix
\begin{figure}[H] We now know how the errors at different locations in the circuit
affect the measurements ($\bm{\Omega}$), and we know how the
measurements relate to the detectors ($\bm{D}$).
For decoding, we are interested in the effect of the errors on the
detectors directly.
We thus construct the \emph{detector error matrix} $\bm{H} \in
\mathbb{F}_2^{d\times N}$ \cite[Def.~2.9]{derks_designing_2025} as
\begin{align*}
\bm{H} := \bm{D}\bm{\Omega}
.%
\end{align*}
Note that, in particular when $d=m$, this is equivalent to performing row
additions on the matrix $\bm{\Omega}$.
% How to choose the detectors
% TODO: Give results from current and previous stage mathematical names
We still have a degree of freedom in how we choose the detectors.
\ldots
There is, however, one way of defining the detectors that will prove useful
at a later stage.
To the measurement results from each syndrome extraction round, we
can add the results from the previous round, as illustrated in
\autoref{fig:detectors_from_measurements_general}.
\red{[Mathematical notation for measurement combination]}
We again turn our attention to the three-qubit repetition code.
In \autoref{fig:rep_code_multiple_rounds_phenomenological} we can see
that $E_6$ has occurred and has subsequently tripped the last four measurements.
We now take those measurements and combine them according to
\red{[Reference mathematical notation above]}.
We can see this process graphically in
\autoref{fig:detectors_from_measurements_rep_code}
To understand why this way of defining the detectors is useful, we
note that the error $E_6$ in
\autoref{fig:rep_code_multiple_rounds_phenomenological} has not only
tripped the measurements in the syndrome extraction round immediately
afterwards, but all subsequent ones as well.
To only see errors in the rounds immediately following them, we
consider our newly defined detectors instead of the measurements,
that effectively compute the difference between the measurements.
Each error can only trip syndrome bits that follow it.
We can see this in the triangular structure of $\bm{\Omega}$ in
\autoref{fig:rep_code_multiple_rounds_phenomenological}.
Combining the measurements into detectors according to
\red{[Reference mathematical notation above]}, we are performing row
additions in such a way as to clear the bottom left of the matrix.
This yields a block-diagonal structure for the detector error matrix
$\bm{H}$, as in the example in
\autoref{fig:detectors_from_measurements_rep_code}.
Note that we exploit the fact that each syndrome measurement round is
identical to obtain this structure.
% TODO: Change notation (\bm{D})
\begin{figure}[t]
\centering \centering
\tikzset{ \tikzset{
@@ -546,11 +766,10 @@ outcomes \cite[Def.~2.1]{derks_designing_2025}.
% tex-fmt: on % tex-fmt: on
\caption{Construction of detectors from measurements in the general case.} \caption{Construction of detectors from measurements in the general case.}
\label{fig:detectors_from_measurements_general}
\end{figure} \end{figure}
\content{The three-qubit repetition code as an exmaple} \begin{figure}[t]
\begin{figure}[H]
\centering \centering
\hspace*{-5mm} \hspace*{-5mm}
@@ -603,7 +822,7 @@ outcomes \cite[Def.~2.1]{derks_designing_2025}.
\caption{Construction of detectors from the measurements of a \caption{Construction of detectors from the measurements of a
three-qubit repetition code.} three-qubit repetition code.}
\label{fig:Construction of the detectors from the measurements} \label{fig:detectors_from_measurements_rep_code}
\end{figure} \end{figure}
%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%

View File

@@ -13,6 +13,7 @@
\content{Callback to previous chapter} \content{Callback to previous chapter}
\content{(Maybe even historical) overview of the literature} \content{(Maybe even historical) overview of the literature}
\content{Better yet: A proper (at least as proper as possible) review}
% High-level overview of Sliding-Window decoding % High-level overview of Sliding-Window decoding