Compare commits
3 Commits
5ced7b152e
...
87e48b5ac6
| Author | SHA1 | Date | |
|---|---|---|---|
| 87e48b5ac6 | |||
| 42a689d811 | |||
| b46df8120b |
@@ -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
|
||||
@@ -136,9 +160,22 @@ different error locations in the circuit.
|
||||
|
||||
We will illustrate the most widely used types of error models on the
|
||||
example of the three-qubit repetition code for $X$ errors.
|
||||
This code has stabilizers $Z_1Z_2$ and $Z_2Z_3$.
|
||||
\autoref{fig:pure_syndrome_extraction} shows the respective
|
||||
check matrix and syndrome extraction circuit.
|
||||
This is a code with check matrix
|
||||
\begin{align*}
|
||||
\bm{H} =
|
||||
\left[
|
||||
\begin{array}{ccc|ccc}
|
||||
0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 0 & 0 & 1 & 1 & 0 \\
|
||||
0 & 0 & 0 & 0 & 1 & 1
|
||||
\end{array}
|
||||
\right]
|
||||
.
|
||||
\end{align*}
|
||||
We can see that it has stabilizers $Z_1Z_2$ and $Z_2Z_3$.
|
||||
\autoref{fig:pure_syndrome_extraction} shows the corresponding
|
||||
syndrome extraction circuit.
|
||||
We refer to the qubits carrying the logical state
|
||||
$\ket{\psi}_\text{L}$ as \emph{data qubits}.
|
||||
Note that this is a concrete implementation using CNOT gates, as
|
||||
@@ -147,16 +184,21 @@ 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
|
||||
data qubits are possible \cite[Appendix~A]{gidney_new_2023}.
|
||||
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
|
||||
Note that we cannot use bit-flip noise to develop fault-tolerant
|
||||
systems, as it doesnt't account for errors during the syndrome extraction.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\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}
|
||||
@@ -165,10 +207,16 @@ errors, we obtain the \emph{depolarizing channel}
|
||||
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.
|
||||
|
||||
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.
|
||||
Bit-flip noise and the depolarizing channel are sometimes referred to
|
||||
as \emph{code capacity noise models}.
|
||||
|
||||
% Phenomenological noise
|
||||
%%%%%%%%%%%%%%%%
|
||||
\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.
|
||||
@@ -176,15 +224,22 @@ Here, we consider multiple rounds of syndrome measurements with a
|
||||
depolarizing channel before each round.
|
||||
Additionally, we allow for measurement errors by having $X$ error
|
||||
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 these points,
|
||||
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 a significant step beyond the code
|
||||
capacity noise models.
|
||||
Additionally, there are applications where the
|
||||
consideration of phenomenological noise is enough.
|
||||
It can, for example, be used for guiding the design of fault-tolerant
|
||||
circuitry [DTTBE25, Sec. 4.2].
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\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,58 +248,27 @@ 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$.
|
||||
Note that this introduces new challenges during the decoding process,
|
||||
as the decoding complexity is increased considerably due to the many
|
||||
error locations.
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
\begin{minipage}{0.5\textwidth}
|
||||
\begin{align*}
|
||||
\bm{H} =
|
||||
\left[
|
||||
\begin{array}{ccc|ccc}
|
||||
0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 0 & 0 & 1 & 1 & 0 \\
|
||||
0 & 0 & 0 & 0 & 1 & 1
|
||||
\end{array}
|
||||
\right]
|
||||
\end{align*}
|
||||
\end{minipage}%
|
||||
\begin{minipage}{0.5\textwidth}
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}%[row sep=4mm, column sep=4mm]
|
||||
\lstick[3]{$\ket{\psi}_\text{L}$} & \ctrl{3} & & & & & \\
|
||||
& & \ctrl{2} & \ctrl{3} & & & \\
|
||||
& & & & \ctrl{2} & & \\
|
||||
\lstick{$\ket{0}_{\text{A}_1}$} & \targ{} & \targ{} & & & \meter{} & \setwiretype{c} \\
|
||||
\lstick{$\ket{0}_{\text{A}_2}$} & & & \targ{} & \targ{} & \meter{} & \setwiretype{c}
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
\end{minipage}%
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}%[row sep=4mm, column sep=4mm]
|
||||
\lstick[3]{$\ket{\psi}_\text{L}$} & \ctrl{3} & & & & & \\
|
||||
& & \ctrl{2} & \ctrl{3} & & & \\
|
||||
& & & & \ctrl{2} & & \\
|
||||
\lstick{$\ket{0}_{\text{A}_1}$} & \targ{} & \targ{} & & & \meter{} & \setwiretype{c} \\
|
||||
\lstick{$\ket{0}_{\text{A}_2}$} & & & \targ{} & \targ{} & \meter{} & \setwiretype{c}
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
|
||||
\caption{
|
||||
Syndrome extraction circuit for the three-qubit repetition
|
||||
@@ -374,19 +398,35 @@ circuit-level noise model to the same value, the physical error rate $p$.
|
||||
\section{Detector Error Models}
|
||||
\label{sec:Detector Error Models}
|
||||
|
||||
\emph{Detector error models} constitue a standardized framework for
|
||||
passing information about the circuit used for \ac{qec} to a decoder.
|
||||
They are also useful in the design of fault-tolerant \ldots such as
|
||||
fault-tolerant quantum computing schemes \cite[Sec.~1]{derks_designing_2025}.
|
||||
% 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}}
|
||||
\emph{Detector error models} (\acsp{dem}) constitue a standardized framework for
|
||||
passing information about a circuit used for \ac{qec} to a decoder.
|
||||
They are also useful as a theoretical tool to aid in the design of
|
||||
fault-tolerant \ac{qec} schemes.
|
||||
E.g., they can be used to easily determine whether a measurement
|
||||
schedule is fault-tolerant \cite[Example~12]{derks_designing_2025}.
|
||||
|
||||
Other approaches of implementing fault tolerance exist, such as
|
||||
flag error correction, which uses additional ancilla qubits to detect
|
||||
potentially damaging high-weight errors \cite[Sec.~1]{chamberland_flag_2018}.
|
||||
However, \acp{dem} offer some unique advantages
|
||||
\cite[Sec.~4.2]{derks_designing_2025}:
|
||||
\begin{itemize}
|
||||
\item They distinguish between errors based on their effect on
|
||||
the measurements, not based on their location in the circuit.
|
||||
This allows for merging equivalent errors, which decreases
|
||||
decoding complexity.
|
||||
\item Errors on the data qubits and on the measurements are
|
||||
treated in a unified manner. This leads to a more powerful
|
||||
description of the overall circuit.
|
||||
\end{itemize}
|
||||
In this work, we only consider the process of decoding under the
|
||||
\ac{dem} framework.
|
||||
|
||||
% 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 +705,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 +869,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 +881,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