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]
|
% TODO: Make all [H] -> [t]
|
||||||
\chapter{Fault Tolerant QEC}
|
\chapter{Fault-Tolerant Quantum Error Correction}
|
||||||
|
|
||||||
% Intro
|
% Intro
|
||||||
|
|
||||||
An important challenge of \ac{qec} that was recognized early on is
|
In the previous chapter, we introduced the fundamental concepts of
|
||||||
the fact that the error correction machinery itself may introduce new
|
classical and quantum error correction.
|
||||||
errors \cite[Sec.~III]{shor_scheme_1995}.
|
In this chapter, we shift our focus to some practical aspects of the
|
||||||
Specifically for stabilizer codes, errors may happen during the
|
implementation of \ac{qec} systems.
|
||||||
syndrome extraction process, since it is implemented in quantum hardware itself.
|
|
||||||
We call the errors the \ac{qec} procedure is supposed to correct
|
% Fault tolerance as a general notion
|
||||||
\emph{input errors} and the errors introduced by the procedure itself
|
|
||||||
\emph{internal errors}.
|
The reason we turned to \ac{qec} in the first place is to allow us to
|
||||||
In order to be \emph{fault-tolerant}, the procedure must be able to
|
perform quantum computing despite the errors inherent to operations
|
||||||
address both types of errors.
|
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
|
% Definition of fault tolerance
|
||||||
|
|
||||||
@@ -33,7 +57,7 @@ indicating which errors occurred, with
|
|||||||
\end{align*}
|
\end{align*}
|
||||||
\autoref{fig:fault_tolerance_overview} illustrates the flow of errors.
|
\autoref{fig:fault_tolerance_overview} illustrates the flow of errors.
|
||||||
Specifically for \ac{css} codes, a \ac{qec} procedure is deemed
|
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*}
|
\begin{gather*}
|
||||||
\lVert \bm{e}_{\text{output},X} \rVert \le t \hspace{5mm}
|
\lVert \bm{e}_{\text{output},X} \rVert \le t \hspace{5mm}
|
||||||
\forall\, \bm{e}_\text{input}, \bm{e}_\text{internal} \in \{0,1\}^N:
|
\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}$
|
The vectors $\bm{e}_{\text{output},X}$ and $\bm{e}_{\text{output},Z}$
|
||||||
denote only $X$ and $Z$ errors respectively.
|
denote only $X$ and $Z$ errors respectively.
|
||||||
|
|
||||||
In order to deal with errors during the syndrome extraction that flip
|
% TODO: Properly introduce d_min for QEC, specifically for CSS codes
|
||||||
single syndrome bits, multiple rounds of syndrome measurements must
|
In order to deal with internal errors that flip syndrome bits,
|
||||||
be performed.
|
multiple rounds of syndrome measurements must be performed.
|
||||||
Typically, the number of syndrome extraction rounds is chosen as $d_\text{min}$.
|
Typically, the number of syndrome extraction rounds is chosen as $d_\text{min}$.
|
||||||
|
|
||||||
% % This is the definition of a fault-tolerant QEC gadget
|
% % 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
|
We visualize the different types of noise models in
|
||||||
\autoref{fig:noise_model_types}.
|
\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.
|
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
|
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.
|
systems, as it doesnt't account for errors during the syndrome extraction.
|
||||||
This type of noise model is shown in \autoref{subfig:bit_flip}.
|
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$
|
Extending bit-flip noise to consider $X,Z$ or $Y$ instead of just $X$
|
||||||
errors, we obtain the \emph{depolarizing channel}
|
errors, we obtain the \emph{depolarizing channel}
|
||||||
@@ -168,7 +196,13 @@ decoherence.
|
|||||||
Bit-flip noise and the depolarizing channel are sometimes referred to
|
Bit-flip noise and the depolarizing channel are sometimes referred to
|
||||||
as \emph{code capacity noise models}.
|
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
|
The \emph{phenomenological noise model} is the first type of noise model we
|
||||||
examine that accounts for faults during the syndrome extraction.
|
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,
|
Note that it is enough to only consider $X$ errors at this point,
|
||||||
since that is the only type of error directly affecting the
|
since that is the only type of error directly affecting the
|
||||||
measurement outcomes.
|
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}.
|
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}.
|
The most general type of noise model is \emph{circuit-level noise}.
|
||||||
Here we not only consider noise inbetween syndrome extraction rounds
|
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}.
|
$n$-qubit gate \cite[Def.~2.5]{derks_designing_2025}.
|
||||||
An $n$-qubit Pauli error is simply a series of correlated Pauli
|
An $n$-qubit Pauli error is simply a series of correlated Pauli
|
||||||
errors on each related individual qubit.
|
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
|
While phenomenological noise is useful for some design aspects of
|
||||||
fault tolerant circuitry, for simulations, circuit-level noise should
|
fault tolerant circuitry, for simulations, circuit-level noise should
|
||||||
always be used \cite[Sec.~4.2]{derks_designing_2025}.
|
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]
|
\begin{figure}[t]
|
||||||
\centering
|
\centering
|
||||||
@@ -383,10 +404,13 @@ fault-tolerant quantum computing schemes \cite[Sec.~1]{derks_designing_2025}.
|
|||||||
% benefit from the fact that
|
% benefit from the fact that
|
||||||
\content{Benefits of this approach \cite[Sec.~4.2]{derks_designing_2025}}
|
\content{Benefits of this approach \cite[Sec.~4.2]{derks_designing_2025}}
|
||||||
|
|
||||||
|
\content{Where they were introduced originally}
|
||||||
|
|
||||||
% Core idea
|
% Core idea
|
||||||
|
|
||||||
The goal we strive to achieve is to consider the possible error
|
To achieve fault tolerance, the goal we strive towards is to
|
||||||
locations in the syndrome extraction circuitry during decoding.
|
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
|
The core idea behind detector error models is to do this by defining
|
||||||
a new \emph{circuit code} that describes the circuit.
|
a new \emph{circuit code} that describes the circuit.
|
||||||
Each \ac{vn} of this new code corresponds to an error location in the
|
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}.
|
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
|
Changing the perspective in this way does not alter the theoretical
|
||||||
error correcting capabilities of the circuit, but it may change the
|
error correcting capabilities of the circuit, but it may change the
|
||||||
decoding performance when using a practical decoder.
|
decoding performance when using a practical decoder.
|
||||||
\red{[Possibly a few more words on this (maybe a mathematical
|
\red{[Possibly a few more words on this (maybe a mathematical
|
||||||
@@ -829,6 +853,9 @@ identical to obtain this structure.
|
|||||||
\subsection{Detector Error Models}
|
\subsection{Detector Error Models}
|
||||||
\label{subsec: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{Combination of detector error matrix and noise model}
|
||||||
\content{Contains all information necessary for decoding
|
\content{Contains all information necessary for decoding
|
||||||
\cite[Intro.]{derks_designing_2025}}
|
\cite[Intro.]{derks_designing_2025}}
|
||||||
@@ -838,7 +865,25 @@ identical to obtain this structure.
|
|||||||
\section{Practical Considerations}
|
\section{Practical Considerations}
|
||||||
\label{sec: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}
|
\content{Intro}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user