Write mathematical fault tolerance definition
This commit is contained in:
@@ -3,41 +3,101 @@
|
|||||||
|
|
||||||
% 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: Proper consideration with number of errors
|
||||||
|
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.
|
||||||
|
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
|
||||||
|
|
||||||
|
% TODO: Are the fault-tolerant QEC procedures where we don't perform
|
||||||
|
% multiple measurement rounds?
|
||||||
|
|
||||||
\content{We generally need to perform multiple rounds of syndrome extraction}
|
\content{We generally need to perform multiple rounds of syndrome extraction}
|
||||||
\content{The number of rounds of syndrome extraction is usually
|
\content{The number of rounds of syndrome extraction is usually
|
||||||
chosen equal to the $d_\text{min}$ of the code}
|
chosen equal to the $d_\text{min}$ of the code}
|
||||||
\content{One-shot decoding property}
|
\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,60 +106,84 @@ chosen equal to the $d_\text{min}$ of the code}
|
|||||||
|
|
||||||
% Intro
|
% Intro
|
||||||
|
|
||||||
\content{Explanation of what a noise model is}
|
% TODO: Different variable name for N?
|
||||||
\content{Mention there are different types of noise models, each with
|
We collect the probabilities of error at each location in the
|
||||||
different possible error locations}
|
\emph{noise model}, a vector $\bm{p} \in \mathbb{R}^N$, where $N \in
|
||||||
|
\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
|
Figure \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
|
Note that this is a concrete implementation using CNOT gates, as
|
||||||
measurement circuit using CNOT gates, as opposed to the system-level
|
opposed to the system-level view introduced in
|
||||||
view in \autoref{subsec:Stabilizer Codes}}
|
\autoref{subsec:Stabilizer Codes}.
|
||||||
\content{\autoref{fig:noise_model_types} shows a number of diffent
|
We visualize the different types of noise models in
|
||||||
types of noise models}
|
\autoref{fig:noise_model_types}.
|
||||||
|
|
||||||
|
% Data and ancilla qubits
|
||||||
|
|
||||||
|
\content{Introduce data qubits}
|
||||||
|
|
||||||
|
\content{\textbf{TODO:} Write something about the code/circuit distance}
|
||||||
|
|
||||||
% 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
|
||||||
|
systems, as it doesnt't account for errors during the syndrome extraction.
|
||||||
|
This is shown in \autoref{subfig:bit_flip}. \\
|
||||||
|
\content{Some more words on bit-flip noise}
|
||||||
\content{\textbf{TODO}: What is this useful for? Just as a first step?}
|
\content{\textbf{TODO}: What is this useful for? Just as a first step?}
|
||||||
|
|
||||||
% Depolarizing channel
|
% Depolarizing channel
|
||||||
|
|
||||||
\content{Depolarizing channel}
|
Extending bit-flip noise to consider $X,Z$ or $Y$ instead of just $X$ errors,
|
||||||
\content{X/Y/Z errors on data qubits}
|
we obtain the \emph{depolarizing channel}
|
||||||
|
\cite[Sec.~7.6]{gottesman_stabilizer_1997}, depicted in
|
||||||
|
\autoref{subfig:depolarizing}. \\
|
||||||
|
\content{Some more words on the depolarizing channel}
|
||||||
\content{\textbf{TODO}: What does this model? Memory experiment with
|
\content{\textbf{TODO}: What does this model? Memory experiment with
|
||||||
ideal syndrome extraction?}
|
ideal syndrome extraction?}
|
||||||
\content{\textbf{TODO}: Why is it called depolarizing?}
|
\content{\textbf{TODO}: Why is it called depolarizing?}
|
||||||
|
|
||||||
|
\content{\textbf{TODO:} Write something about ``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.
|
||||||
|
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,
|
||||||
|
since that is the only type of error directly affecting the
|
||||||
|
measurement outcomes.
|
||||||
|
This model is depicted in \autoref{subfig:phenomenological}.\\
|
||||||
\content{\textbf{TODO}: Why is this useful? Derks et al. mentioned
|
\content{\textbf{TODO}: Why is this useful? Derks et al. mentioned
|
||||||
something about it being useful to derive fault-tolerant circuits}
|
something about it being useful to derive fault-tolerant circuits}
|
||||||
\content{\textbf{TODO}: Make sure phenomenological noise is only X errors}
|
|
||||||
|
|
||||||
% 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 for $n$-qubit Pauli errors after
|
||||||
\content{Define $n$-qubit Pauli errors}
|
each $n$-qubit gate.
|
||||||
\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 individual related qubit.
|
||||||
have any effect on the measurement outcomes are X errors. That is why
|
Circuit-level noise is shown in \autoref{subfig:circuit_level}. \\
|
||||||
it is enough to consider this type of error at this point in the circuit.}
|
\content{\textbf{TODO}: Why do we need this? Derks et al. mentioned
|
||||||
|
something about needing it for actual simulations, even when using
|
||||||
|
phenomenological noise for derivations.}
|
||||||
|
|
||||||
% Different noise models for circuit-level noise
|
% Different noise models for circuit-level noise
|
||||||
|
|
||||||
@@ -107,16 +191,20 @@ it is enough to consider this type of error at this point in the circuit.}
|
|||||||
\content{In this work we only consider standard circuit-based
|
\content{In this work we only consider standard circuit-based
|
||||||
depolarizing noise}
|
depolarizing noise}
|
||||||
|
|
||||||
\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 +226,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 +269,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 +287,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 +296,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 +323,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%
|
||||||
@@ -263,12 +355,11 @@ depolarizing noise}
|
|||||||
|
|
||||||
% Core idea
|
% Core idea
|
||||||
|
|
||||||
\content{Model additional error locations in the code}
|
|
||||||
\content{Construct ``circuit code'' from original code}
|
\content{Construct ``circuit code'' from original code}
|
||||||
|
|
||||||
% Benefits
|
% Benefits
|
||||||
|
|
||||||
\content{Benefits of this approach}
|
\content{Benefits of this approach \cite[Sec.~4.2]{derks_designing_2025}}
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%
|
||||||
\subsection{Measurement Syndrome Matrix}
|
\subsection{Measurement Syndrome Matrix}
|
||||||
|
|||||||
Reference in New Issue
Block a user