Rewrite intro to chapter 3; Add subsections for each noise model
This commit is contained in:
@@ -1,18 +1,42 @@
|
||||
% TODO: Make all [H] -> [t]
|
||||
\chapter{Fault Tolerant QEC}
|
||||
\chapter{Fault-Tolerant Quantum Error Correction}
|
||||
|
||||
% Intro
|
||||
|
||||
An important challenge of \ac{qec} that was recognized early on is
|
||||
the fact that the error correction machinery itself may introduce new
|
||||
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.
|
||||
In the previous chapter, we introduced the fundamental concepts of
|
||||
classical and quantum error correction.
|
||||
In this chapter, we shift our focus to some practical aspects of the
|
||||
implementation of \ac{qec} systems.
|
||||
|
||||
% Fault tolerance as a general notion
|
||||
|
||||
The reason we turned to \ac{qec} in the first place is to allow us to
|
||||
perform quantum computing despite the errors inherent to operations
|
||||
using qubits.
|
||||
While the use of error correcting codes may facilitate this, it also
|
||||
introduces two new challenges \cite[Sec.~4]{gottesman_introduction_2009}:
|
||||
\begin{itemize}
|
||||
\item We must be able to perform operations on the encoded state
|
||||
in such a way that we do not lose the protection against errors.
|
||||
\item \ac{qec} systems are themselves partially implemented in
|
||||
quantum hardware. In addition to the errors we have
|
||||
originally introduced them for, these systems must
|
||||
be able to acount for the fact they are implemented on noisy
|
||||
hardware themselves.
|
||||
\end{itemize}
|
||||
In the literature, both of these points are viewed under the umbrella
|
||||
of \emph{fault tolerance}.
|
||||
We focus only on the second aspect in this work.
|
||||
|
||||
It was recognized early on as a challenge of \ac{qec} that the correction
|
||||
machinery itself may introduce new faults \cite[Sec.~III]{shor_scheme_1995}.
|
||||
Specifically for stabilizer codes, this can happen during the
|
||||
syndrome extraction process.
|
||||
We distinguish between the errors the QEC procedure is supposed to
|
||||
correct, which we call \emph{input errors}, and
|
||||
those introduced by the procedure itself, which we call \emph{internal errors}.
|
||||
In order to be fault-tolerant, the procedure must be able to
|
||||
address both.
|
||||
|
||||
% Definition of fault tolerance
|
||||
|
||||
@@ -33,7 +57,7 @@ indicating which errors occurred, with
|
||||
\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}
|
||||
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:
|
||||
@@ -51,9 +75,9 @@ 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.
|
||||
% TODO: Properly introduce d_min for QEC, specifically for CSS codes
|
||||
In order to deal with internal errors that flip 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
|
||||
@@ -147,7 +171,9 @@ opposed to the system-level view introduced in
|
||||
We visualize the different types of noise models in
|
||||
\autoref{fig:noise_model_types}.
|
||||
|
||||
% Bit-flip noise
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Bit-Flip Noise}
|
||||
\label{subsec:Bit-Flip Noise}
|
||||
|
||||
The simplest type of noise model is \emph{bit-flip} noise.
|
||||
This corresponds to the classical \ac{bsc}, i.e., only $X$ errors on the
|
||||
@@ -156,7 +182,9 @@ Note that we cannot use bit-flip noise to develop fault-tolerant
|
||||
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
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Depolarizing Channel}
|
||||
\label{subsec:Depolarizing Channel}
|
||||
|
||||
Extending bit-flip noise to consider $X,Z$ or $Y$ instead of just $X$
|
||||
errors, we obtain the \emph{depolarizing channel}
|
||||
@@ -168,7 +196,13 @@ decoherence.
|
||||
Bit-flip noise and the depolarizing channel are sometimes referred to
|
||||
as \emph{code capacity noise models}.
|
||||
|
||||
% Phenomenological noise
|
||||
While the depolarizing channel is still not suited for the design and
|
||||
simulation of fault-tolerant systems, it is already complex enough to
|
||||
be used to gauge the suitability of a code for the \ac{qec} problem.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Phenomenological Noise}
|
||||
\label{subsec:Phenomenological Noise}
|
||||
|
||||
The \emph{phenomenological noise model} is the first type of noise model we
|
||||
examine that accounts for faults during the syndrome extraction.
|
||||
@@ -179,12 +213,18 @@ locations right before each measurement \cite[Appendix~A]{gidney_new_2023}.
|
||||
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
|
||||
While not fully capturing all possible error mechanisms,
|
||||
phenomenological noise is already \ldots .
|
||||
Additionally, there are applications were the consideration of
|
||||
phenomenological noise is enough.
|
||||
It can, for example, be used for \ldots \red{the design of
|
||||
fault-tolerant circuitry} \cite[Sec.~4.2]{derks_designing_2025}.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Circuit-Level Noise}
|
||||
\label{subsec:Circuit-Level Noise}
|
||||
|
||||
The most general type of noise model is \emph{circuit-level noise}.
|
||||
Here we not only consider noise inbetween syndrome extraction rounds
|
||||
@@ -193,30 +233,11 @@ Specifically, we allow arbitrary $n$-qubit Pauli errors after each
|
||||
$n$-qubit gate \cite[Def.~2.5]{derks_designing_2025}.
|
||||
An $n$-qubit Pauli error is simply a series of correlated Pauli
|
||||
errors on each related individual qubit.
|
||||
This type of noise model is shown in \autoref{subfig:circuit_level}.
|
||||
|
||||
While phenomenological noise is useful for some design aspects of
|
||||
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}.
|
||||
|
||||
% Practical simulation aspects
|
||||
|
||||
While these types of noise models give us some constraints on the
|
||||
types and locations of errors, the question of how exactly to choose
|
||||
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}[t]
|
||||
\centering
|
||||
@@ -383,10 +404,13 @@ fault-tolerant quantum computing schemes \cite[Sec.~1]{derks_designing_2025}.
|
||||
% benefit from the fact that
|
||||
\content{Benefits of this approach \cite[Sec.~4.2]{derks_designing_2025}}
|
||||
|
||||
\content{Where they were introduced originally}
|
||||
|
||||
% Core idea
|
||||
|
||||
The goal we strive to achieve is to consider the possible error
|
||||
locations in the syndrome extraction circuitry during decoding.
|
||||
To achieve fault tolerance, the goal we strive towards is to
|
||||
consider the internal errors in addition to the input errors during
|
||||
the decoding process.
|
||||
The core idea behind detector error models is to do this by defining
|
||||
a new \emph{circuit code} that describes the circuit.
|
||||
Each \ac{vn} of this new code corresponds to an error location in the
|
||||
@@ -665,7 +689,7 @@ may wish to combine them in some way.
|
||||
We call such combinations \emph{detectors}.
|
||||
Formally, a detector is a parity constraint on a set of measurement
|
||||
outcomes \cite[Def.~2.1]{derks_designing_2025}.
|
||||
Chaning the perspective in this way does not change the theoretical
|
||||
Changing the perspective in this way does not alter 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
|
||||
@@ -829,6 +853,9 @@ identical to obtain this structure.
|
||||
\subsection{Detector Error Models}
|
||||
\label{subsec:Detector Error Models}
|
||||
|
||||
A \emph{detector error model} is the combination of the detector
|
||||
error matric $\bm{H}$ and the noise model $\bm{p}$.
|
||||
|
||||
\content{Combination of detector error matrix and noise model}
|
||||
\content{Contains all information necessary for decoding
|
||||
\cite[Intro.]{derks_designing_2025}}
|
||||
@@ -838,7 +865,25 @@ identical to obtain this structure.
|
||||
\section{Practical Considerations}
|
||||
\label{sec:Practical Considerations}
|
||||
|
||||
% Intro
|
||||
% Practical simulation aspects
|
||||
|
||||
While these types of noise models give us some constraints on the
|
||||
types and locations of errors, the question of how exactly to choose
|
||||
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$.
|
||||
|
||||
\content{Intro}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user