diff --git a/src/thesis/chapters/3_fault_tolerant_qec.tex b/src/thesis/chapters/3_fault_tolerant_qec.tex index 08171af..2e9e860 100644 --- a/src/thesis/chapters/3_fault_tolerant_qec.tex +++ b/src/thesis/chapters/3_fault_tolerant_qec.tex @@ -1,4 +1,3 @@ -% TODO: Make all [H] -> [t] \chapter{Fault-Tolerant Quantum Error Correction} % Intro @@ -40,11 +39,10 @@ address both. % 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. +$N \in \mathbb{N}$ is the total number of considered error locations. The \emph{circuit error vector} $\bm{e} \in \{0,1\}^N$ is a vector indicating which errors occurred, with \begin{align*} @@ -151,8 +149,7 @@ Typically, the number of syndrome extraction rounds is chosen as $d_\text{min}$. % Intro We collect the probabilities of error at each location in the -\emph{noise model}, a vector $\bm{p} \in [0,1]^N$, where $N \in -\mathbb{N}$ is the number of possible error locations. +\emph{noise model}, a vector $\bm{p} \in [0,1]^N$. There are different types of noise models, each allowing for different error locations in the circuit. @@ -442,32 +439,29 @@ circuit and each \ac{cn} corresponds to a syndrome measurement. % Mathematical definition We describe the circuit code using the \emph{measurement syndrome -matrix} matrix $\bm{\Omega} \in \mathbb{F}_2^{m\times N}$, with +matrix} matrix $\bm{\Omega} \in \mathbb{F}_2^{M\times N}$, with \begin{align*} - \Omega_{j,i} = + \Omega_{\ell,i} = \begin{cases} - 1, & \text{Error $i$ flips measurement $j$}\\ + 1, & \text{Error $i$ flips measurement $\ell$}\\ 0, & \text{otherwise} \end{cases} - .% + ,% \end{align*} -This matrix thus defines this new 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}. +where $M \in \mathbb{N}$ is the number of measurements. To obtain $\bm{\Omega}$, we must propagate Pauli errors through the circuit, tracking which measurements they affect \cite[Sec.~2.4]{derks_designing_2025}. % Example -% TODO: Fix syndrome dimension notation We turn to our example of the three-qubit repetition code to illustrate the construction of the syndrome measurement matrix. We begin by extending our check matrix in \autoref{eq:rep_code_H} to represent three rounds of syndrome extraction. Each round yields an additional set of syndrome bits, and we combine them by stacking them in a new vector -$\bm{s} \in \mathbb{F}_2^{n_\text{rounds}\cdot(n-k)}$. +$\bm{s} \in \mathbb{F}_2^{R(n-k)}$. We thus have to replicate the rows of $\bm{\Omega}$, once for each additional syndrome measurement, to obtain \begin{align*} @@ -501,7 +495,7 @@ We thus have % Expand to phenomenological -We now whish to expand the error model to phenomenological noise, though +We now wish to expand the error model to phenomenological noise, though only considering $X$ errors in this case. We introduce new error locations at the appropriate positions, arriving at the circuit depicted in @@ -774,10 +768,10 @@ independent detectors \cite[Sec.~2.2]{derks_designing_2025}. % The detector 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}. +the \emph{detector matrix} $\bm{D} \in \mathbb{F}_2^{D\times M}$ +\cite[Def.~2.2]{derks_designing_2025}, with $~D\in \mathbb{N}$ +denoting the number of detectors. Similar to the way a \ac{pcm} associates bits with parity checks, the detector matrix links measurements and detectors. Each column corresponds to a measurement, while each rows corresponds @@ -811,7 +805,7 @@ measurements relate to the detectors (through $\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 +\mathbb{F}_2^{D\times N}$ \cite[Def.~2.9]{derks_designing_2025} as \begin{align*} \bm{H} := \bm{D}\bm{\Omega} .% @@ -852,9 +846,6 @@ It may, however, change the decoding performance when using a practical decoder. % How to choose the detectors -% TODO: Fix notation (n used for both number of measurements and -% measurements themselves) -% TODO: Properly define the ranges i and r belong to What constitutes a good set of detectors is difficult to assess without performing explicit decoding simulations, since it ultimately depends on the decoder employed. @@ -866,26 +857,29 @@ 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}. -Concretely, we denote the outcome of the -$i$-th measurement in round $r$ by $m_i^{(r)} \in \mathbb{F}_2$ and define +We thus have $D=n-k$. +Concretely, we denote the outcome of +measurement $\ell \in \{1,\ldots,n-k\}$ in round $r \in \{1,\ldots,R\}$ by +$m_\ell^{(r)} \in \mathbb{F}_2$ +and define \begin{gather*} \bm{m}^{(r)} := \begin{pmatrix} m_1^{(r)} \\ \vdots \\ - m_m^{(r)} + m_{n-k}^{(r)} \end{pmatrix} .% \end{gather*} -Similarly, we denote the the $i$-th detector in round $r$ by -$d_i^{(r)} \in \mathbb{F}_2$ and define +Similarly, we denote the outcome of detector $j\in\{1,\ldots,D\}$ in +round $r$ by $d_j^{(r)} \in \mathbb{F}_2$ and define \begin{gather} \label{eq:measurement_combination} \bm{d}^{(r)} = \begin{pmatrix} d_1^{(r)} \\ \vdots \\ - d_m^{(r)} + d_D^{(r)} \end{pmatrix} := \bm{m}^{(r)} + \bm{m}^{(r-1)} ,% @@ -1011,10 +1005,10 @@ It contains all information necessary for the decoding process. \section{Practical Considerations} \label{sec:Practical Considerations} -The previous sections give \red{[theoretical overview of noise models -and DEMs]}. -In order to apply them successfully in practice, we must consider a -few further aspects. +The previous sections give an overview over available noise models +and the function of \acp{dem}. +In order to successfully apply these concepts in practice, we must +consider a few further aspects. %%%%%%%%%%%%%%%% \subsection{Choice of Noise Model} @@ -1037,7 +1031,8 @@ 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$. +circuit-level noise model to the same value, the physical error rate +$p_\text{phys}$. %%%%%%%%%%%%%%%% \subsection{Per-Round Logical Error Rate} @@ -1056,18 +1051,18 @@ use the \emph{per-round-\ac{ler}}. The simplest way of calculating the per-round \ac{ler} is by modeling each round as an independent experiment. For each experiment, an error might occur with a certain probability -$p_\text{round}$. +$p_\text{e,round}$. The overall probability of error is then \begin{align} \hspace{-12mm} - p_\text{total} &= 1 - (1 - p_\text{round})^{n_\text{rounds}} \nonumber\\ + p_\text{e,total} &= 1 - (1 - p_\text{e,round})^{R} \nonumber\\ \label{eq:per_round_ler} - \implies \hspace{3mm} p_\text{round} &= - 1 - (1 - p_\text{total})^{1 / n_\text{rounds}} + \implies \hspace{3mm} p_\text{e,round} &= + 1 - (1 - p_\text{e,total})^{1 / R} .% \hspace{12mm} \end{align} -We approximate $p_\text{total}$ using a Monte Carlo simulation and +We approximate $p_\text{e,total}$ using a Monte Carlo simulation and compute the per-round-\ac{ler} using \autoref{eq:per_round_ler}. This is a common approach taken in the literature \cite{gong_toward_2024}\cite{wang_fully_2025}. @@ -1077,7 +1072,7 @@ Another common approach \cite{chen_exponential_2021}% exponential decay for the decoder's \emph{logical fidelity} \cite[Eq.~2]{bausch_learning_2024} \begin{align*} - F_\text{total} = (F_\text{round})^{n_\text{rounds}} + F_\text{total} = (F_\text{round})^{R} .% \end{align*} The logical fidelity is a measure of the quality of a logical state @@ -1085,9 +1080,9 @@ The logical fidelity is a measure of the quality of a logical state As it is related to the error rate through $F = 1 - 2p$, we obtain \cite[Eq.~4]{bausch_learning_2024} \begin{align} - (1 - 2p_\text{total}) &= (1 - 2p_\text{round})^{n_\text{rounds}} \nonumber\\ - \implies \hspace{15mm} p_\text{total} &= \frac{1}{2} - \left[ 1 - (1 - 2p_\text{round})^{1/n_\text{rounds}} \right] + (1 - 2p_\text{e,total}) &= (1 - 2p_\text{e,round})^{R} \nonumber\\ + \implies \hspace{15mm} p_\text{e,round} &= \frac{1}{2} + \left[ 1 - (1 - 2p_\text{e,total})^{1/R} \right] .% \end{align} @@ -1116,18 +1111,17 @@ first introduced. One capability of stim, and \acp{dem} in general, that we didn't go into detail about in this chapter is the merging of error mechanisms. Since \acp{dem} differentiate errors based on their effect on the -measurements and not on their type and location, it is natural to -group errors that have the same effect. +measurements and not on their Pauli type and location +\cite[Sec.~1.4.3]{higgott_practical_2024}, it is natural to group +errors that have the same effect. This slightly lowers the computational complexity of decoding, as the number of resulting \acp{vn} is reduced. While stim is a useful tool for circuit simulation, it doesn't include many utilities for building syndrome extraction circuitry automatically. -The user has to define most, if not, all of the circuit manually, +The user has to define most, if not all, of the circuit manually, depending on the code in question. This is somewhat natural, as stim is meant first and foremost as a simulator, and circuit generation is contigent upon the \ac{qec} scheme in question. -\content{Introduce logical error rate} -