Compare commits
29 Commits
final-v1.2
...
5ced7b152e
| Author | SHA1 | Date | |
|---|---|---|---|
| 5ced7b152e | |||
| 3953320216 | |||
| 4aa4799969 | |||
| f899942029 | |||
| a68e22d7f5 | |||
| 0955cdd14e | |||
| 7015f9d644 | |||
| b50308d014 | |||
| 93f310d843 | |||
| 163ef926e7 | |||
| 4da37dbddc | |||
| 6de9cec27e | |||
| 474b1d21da | |||
| 5483a972f9 | |||
| 5d104fbf28 | |||
| 50a10ccb4f | |||
| 569df381ee | |||
| 85771405db | |||
| 5875066581 | |||
| 494a639329 | |||
| e59120b683 | |||
| 267d431542 | |||
| 4e1bd62504 | |||
| ada6e43be3 | |||
| 6ea151ffeb | |||
| 6e2cf5b8ba | |||
| e792141afd | |||
| 1810ec8632 | |||
| 513eb7579f |
@@ -1549,21 +1549,25 @@
|
||||
|
||||
\vspace*{-5mm}
|
||||
|
||||
\visible<3->{
|
||||
\begin{itemize}
|
||||
\visible<2->{
|
||||
\item Challenges
|
||||
}
|
||||
\begin{itemize}
|
||||
\visible<2->{
|
||||
\item Fault tolerance: Additional error locations \\
|
||||
$\implies$ \schlagwort{Increased decoding
|
||||
complexity} \citereferencemanual{GCR24}
|
||||
}
|
||||
\visible<3->{
|
||||
\item Quantum setting: Degeneracy and short
|
||||
cycles \\
|
||||
$\implies$ \schlagwort{Degraded performance}
|
||||
of belief propagation (BP)
|
||||
\citereferencemanual{BBA$^+$15}
|
||||
\item Fault tolerance: Additional error locations \\
|
||||
$\implies$ \schlagwort{Increased decoding
|
||||
complexity} \citereferencemanual{GCR24}
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
}
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
||||
\vspace*{8mm}
|
||||
|
||||
|
||||
@@ -8,16 +8,31 @@
|
||||
long=belief propagation
|
||||
}
|
||||
|
||||
\DeclareAcronym{bpgd}{
|
||||
short=BPGD,
|
||||
long=belief propagation with guided decimation
|
||||
}
|
||||
|
||||
\DeclareAcronym{nms}{
|
||||
short=NMS,
|
||||
long=normalized min-sum
|
||||
}
|
||||
|
||||
\DeclareAcronym{bsc}{
|
||||
short=BSC,
|
||||
long=binary symetric channel
|
||||
}
|
||||
|
||||
\DeclareAcronym{spa}{
|
||||
short=SPA,
|
||||
long=sum-product algorithm
|
||||
}
|
||||
|
||||
\DeclareAcronym{css}{
|
||||
short=CSS,
|
||||
long=Calderbank-Shor-Steane
|
||||
}
|
||||
|
||||
\DeclareAcronym{llr}{
|
||||
short=LLR,
|
||||
long=log-likelihood ratio
|
||||
@@ -33,6 +48,11 @@
|
||||
long=low-density parity-check
|
||||
}
|
||||
|
||||
\DeclareAcronym{qldpc}{
|
||||
short=QLDPC,
|
||||
long=quantum low-density parity-check
|
||||
}
|
||||
|
||||
\DeclareAcronym{ml}{
|
||||
short=ML,
|
||||
long=maximum likelihood
|
||||
@@ -77,3 +97,8 @@
|
||||
short=PDF,
|
||||
long=probability density function
|
||||
}
|
||||
|
||||
\DeclareAcronym{bb}{
|
||||
short=BB,
|
||||
long=bivariate bicycle
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
\chapter{Fundamentals}
|
||||
\chapter{Fundamentals of Classical and Quantum Error Correction}
|
||||
\label{ch:Fundamentals}
|
||||
|
||||
\Ac{qec} is a field of research combining ``classical''
|
||||
@@ -6,8 +6,6 @@ communications engineering and quantum information science.
|
||||
This chapter provides the relevant theoretical background on both of
|
||||
these topics and subsequently introduces the fundamentals of \ac{qec}.
|
||||
|
||||
% TODO: Is an explanation of BP with guided decimation needed in this chapter?
|
||||
% TODO: Is an explanation of OSD needed chapter?
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Classical Error Correction}
|
||||
\label{sec:Classical Error Correction}
|
||||
@@ -517,6 +515,7 @@ This is precisely the effect that leads to the good performance of
|
||||
\ac{sc}-\ac{ldpc} codes in the waterfall region \cite{costello_spatially_2014}.
|
||||
|
||||
\subsection{Iterative Decoding}
|
||||
\label{subsec:Iterative Decoding}
|
||||
|
||||
% Introduction
|
||||
|
||||
@@ -607,21 +606,23 @@ The purpose of this section is to convey these concepts to the reader.
|
||||
|
||||
In quantum mechanics, the state of a particle is described by a
|
||||
\emph{wave function} $\psi(x,t)$.
|
||||
The connection between this function and the observable world
|
||||
is Born's statistical interpretation:
|
||||
$\lvert \psi (x,t) \rvert^2$ is the \ac{pdf} of finding a praticle at
|
||||
Born's statistical interpretation provides a connection between this
|
||||
function and the observable world:
|
||||
$\lvert \psi (x,t) \rvert^2$ is the \ac{pdf} of finding a particle at
|
||||
position $x$ and time $t$ \cite[Sec.~1.2]{griffiths_introduction_1995}.
|
||||
Note that this presupposes a normalization of $\psi$ such that
|
||||
$\int_{-\infty}^{\infty} \lvert \psi(x,t) \rvert^2 dx = 1$.
|
||||
|
||||
% Dirac notation
|
||||
|
||||
A lot of the related mathematics can be very elegantly expressed
|
||||
Much of the related mathematics can be very elegantly expressed
|
||||
using the language of linear algebra.
|
||||
The so called Bra-ket or Dirac notation is especially appropriate,
|
||||
The so-called Bra-ket or Dirac notation is especially appropriate,
|
||||
having been proposed by Paul Dirac in 1939 for the express purpose
|
||||
of simplifying quantum mechanical notation \cite{dirac_new_1939}.
|
||||
Two new symbols are defined, \emph{bra}s $\bra{\cdot}$ and
|
||||
\emph{ket}s $\ket{\cdot}$.
|
||||
Kets denote ordinary vectors, while bras denote their Hermitian conjugates.
|
||||
Kets denote column vectors, while bras denote their Hermitian conjugates.
|
||||
For example, two vectors specified by the labels $a$ and $b$
|
||||
respectively are written as $\ket{a}$ and $\ket{b}$.
|
||||
Their inner product is $\braket{a\vert b}$.
|
||||
@@ -630,7 +631,7 @@ Their inner product is $\braket{a\vert b}$.
|
||||
|
||||
The connection we will make between quantum mechanics and linear
|
||||
algebra is that we will model the state space of a system as a
|
||||
\emph{function space}.
|
||||
\emph{function space}, the Hilbert space $L_2$.
|
||||
We will represent the state of a particle with wave function
|
||||
$\psi(x,t)$ using the vector $\ket{\psi}$
|
||||
\cite[Sec.~3.3]{griffiths_introduction_1995}.
|
||||
@@ -643,6 +644,17 @@ output \cite[Sec.~3.2.2]{griffiths_introduction_1995}.
|
||||
Operators are useful to describe the relations between different
|
||||
quantities relating to a particle.
|
||||
An example of this is the differential operator $\partial x$.
|
||||
We define the \emph{commutator} of two operators $P_1$ and $P_2$ as
|
||||
\begin{align*}
|
||||
[P_1,P_2] = P_1P_2 - P_2P_1
|
||||
\end{align*}
|
||||
and the \emph{anticommutator} as
|
||||
\begin{align*}
|
||||
[P_1,P_2]_+ = P_1P_2 + P_2P_1
|
||||
.%
|
||||
\end{align*}
|
||||
We say the two operators \emph{commute} iff $[P_1,P_2] = 0$, and they
|
||||
\emph{anti-commute} iff $[P_1,P_2]_+ = 0$.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Observables}
|
||||
@@ -663,8 +675,8 @@ observations \cite[Sec.~3.3]{griffiths_introduction_1995}.
|
||||
|
||||
If we know the wave function of a particle, we should be able to
|
||||
compute the expected value $\braket{Q}$ of any observable quantity we wish.
|
||||
It can be shown that for any $Q$, we can compute a
|
||||
corresponding operator $\hat{Q}$ such that
|
||||
It can be shown that for any $Q$, we can find a
|
||||
corresponding Hermitian operator $\hat{Q}$ such that
|
||||
\cite[Sec.~3.3]{griffiths_introduction_1995}
|
||||
\begin{align}
|
||||
\label{eq:gen_expr_Q_exp}
|
||||
@@ -689,7 +701,7 @@ formula simplifies to the direct calculation of the expected value.
|
||||
|
||||
Let us now examine how the observable operator $\hat{Q}$ relates to
|
||||
the determinate states of the observable quantity.
|
||||
We begin by translating \autoref{eq:gen_expr_Q_exp} into linear alebra as
|
||||
We begin by translating \autoref{eq:gen_expr_Q_exp} into linear algebra as
|
||||
\cite[Eq.~3.114]{griffiths_introduction_1995}
|
||||
\begin{align}
|
||||
\label{eq:gen_expr_Q_exp_lin}
|
||||
@@ -697,7 +709,7 @@ We begin by translating \autoref{eq:gen_expr_Q_exp} into linear alebra as
|
||||
.%
|
||||
\end{align}
|
||||
\autoref{eq:gen_expr_Q_exp_lin} expresses an inherently probabilistic
|
||||
relationhip.
|
||||
relationship.
|
||||
The determinate states are inherently deterministic.
|
||||
To relate the two, we note that since determinate states should
|
||||
always yield the same measurement results, the variance of the
|
||||
@@ -742,6 +754,9 @@ We can use the determinate states for this purpose, expressing the state as%
|
||||
c_n := \braket{e_n \vert \psi}
|
||||
.%
|
||||
\end{align}
|
||||
Because of the normalization of the wave function such that
|
||||
$\int_{-\infty}^{\infty} \lvert \psi(x,t) \rvert^2 dx = 1$, we have
|
||||
$\sum_{n=1}^{\infty} \lvert c_n \rvert ^2 = 1$.
|
||||
Inserting \autoref{eq:determinate_basis} into
|
||||
\autoref{eq:gen_expr_Q_exp_lin} we obtain
|
||||
% tex-fmt: off
|
||||
@@ -771,7 +786,7 @@ We can decompose an arbitrary state as $\ket{\psi} = \sum_{n=1}^{\infty} c_n
|
||||
\ket{e_n}$, where $\lvert c_n \rvert ^2$ represents the probability
|
||||
of obtaining a certain measurement value.
|
||||
Note that when we speak of an \emph{observable}, we are usually
|
||||
refering to the operator $\hat{Q}$.
|
||||
referring to the operator $\hat{Q}$.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Projective Measurements}
|
||||
@@ -837,7 +852,7 @@ These project a vector onto the subspace spanned by $\ket{e_n}$.
|
||||
\subsection{Qubits and Multi-Qubit States}
|
||||
\label{subsec:Qubits and Multi-Qubit States}
|
||||
|
||||
% The qubit
|
||||
% Intro
|
||||
|
||||
% TODO: Make sure `quantum gate` is proper terminology
|
||||
A central concept for quantum computing is that of the \emph{qubit}.
|
||||
@@ -846,20 +861,35 @@ For classical computers, we alter bits' states using \emph{gates}.
|
||||
We can chain multiple of these gates together to build up more complex logic,
|
||||
such as half-adders or eventually a full processor.
|
||||
In principle, quantum computers work in a similar fashion, only that
|
||||
instead of bits we use qubits and instead of, e.g. {AND}, OR, and XOR
|
||||
instead of bits we use qubits and instead of, e.g., AND, OR, and XOR
|
||||
operations we use \emph{quantum gates} \cite[Sec.~1.3]{nielsen_quantum_2010}.
|
||||
We define a qubit to be a component with determinate
|
||||
states $\ket{0}$ and $\ket{1}$.
|
||||
The general description of the state $\ket{\psi}$ of a qubit is thus
|
||||
\begin{align}
|
||||
\label{eq:gen_qubit_state}
|
||||
\ket{\psi} = \alpha\ket{0} + \beta\ket{1}, \hspace{5mm} \alpha,
|
||||
\beta \in \mathbb{C}
|
||||
|
||||
% Qubits and multi-qubit states
|
||||
|
||||
We fix an orthonormal basis of $\mathbb{C}^2$ to be
|
||||
\begin{align*}
|
||||
\ket{0} =
|
||||
\begin{pmatrix}
|
||||
1 \\
|
||||
0
|
||||
\end{pmatrix}, \hspace{5mm}
|
||||
\ket{1} =
|
||||
\begin{pmatrix}
|
||||
0 \\
|
||||
1
|
||||
\end{pmatrix}
|
||||
.%
|
||||
\end{align}
|
||||
|
||||
% The tensor product and multi-qubit states
|
||||
|
||||
\end{align*}
|
||||
A qubit is defined to be a system with quantum state
|
||||
\begin{align*}
|
||||
\ket{\psi} =
|
||||
\begin{pmatrix}
|
||||
\alpha \\
|
||||
\beta
|
||||
\end{pmatrix}
|
||||
= \alpha \ket{0} + \beta \ket{1}
|
||||
.%
|
||||
\end{align*}
|
||||
The overall state of a composite quantum system is described using
|
||||
the \emph{tensor product}, denoted as $\otimes$
|
||||
\cite[Sec.~2.2.8]{nielsen_quantum_2010}.
|
||||
@@ -869,9 +899,7 @@ Take for example the two qubits
|
||||
\ket{\psi_2} = \alpha_2 \ket{0} + \beta_2 \ket{1}
|
||||
.%
|
||||
\end{align*}
|
||||
% TODO: Fix the fact that \psi is used above for the single-qubit
|
||||
% case and below for the multi-qubit case
|
||||
We examine the state $\ket{\psi}$ of the composite system as.
|
||||
We examine the state $\ket{\psi}$ of the composite system.
|
||||
Assuming the qubits are independent, this is a \emph{product state}
|
||||
$\ket{\psi} = \ket{\psi_1}\otimes\ket{\psi_2}$.
|
||||
When not ambiguous, we may omit the tensor product symbol or even write
|
||||
@@ -893,6 +921,12 @@ We have
|
||||
\end{align}
|
||||
We call $\ket{x_0, \ldots, x_n}~, x_i \in \{0,1\}$ the
|
||||
\emph{computational basis states} \cite[Sec.~4.6]{nielsen_quantum_2010}.
|
||||
To additionally simplify set notation, we define
|
||||
\begin{align*}
|
||||
\mathcal{M}^{\otimes n} := \underbrace{\mathcal{M}\otimes \ldots
|
||||
\otimes \mathcal{M}}_{n \text{ times}}
|
||||
.%
|
||||
\end{align*}
|
||||
|
||||
% Entanglement
|
||||
|
||||
@@ -902,9 +936,9 @@ An example of such states are the \emph{Bell states}
|
||||
\begin{align*}
|
||||
\begin{split}
|
||||
\ket{\psi_{00}} &= \frac{\ket{00} + \ket{11}}{\sqrt{2}} \hspace{15mm}
|
||||
\ket{\psi_{01}} = \frac{\ket{01} - \ket{10}}{\sqrt{2}} \\
|
||||
\ket{\psi_{10}} &= \frac{\ket{00} + \ket{11}}{\sqrt{2}} \hspace{15mm}
|
||||
\ket{\psi_{11}} = \frac{\ket{01} - \ket{10}}{\sqrt{2}}
|
||||
\ket{\psi_{01}} = \frac{\ket{01} + \ket{10}}{\sqrt{2}} \\
|
||||
\ket{\psi_{10}} &= \frac{\ket{01} - \ket{10}}{\sqrt{2}} \hspace{15mm}
|
||||
\ket{\psi_{11}} = \frac{\ket{00} - \ket{11}}{\sqrt{2}}
|
||||
\end{split}
|
||||
\hspace{4mm}.%
|
||||
\end{align*}
|
||||
@@ -933,10 +967,10 @@ After examining the modelling of single- and multi-qubit systems,
|
||||
we now shift our focus to describing the evolution of their states.
|
||||
We model state changes as operators.
|
||||
Unlike classical systems, where there are only two possible states and
|
||||
thus the only possible state change is a bit-flip, a gerenal qubit
|
||||
thus the only possible state change is a bit-flip, a general qubit
|
||||
state as shown in \autoref{eq:gen_qubit_state} lives on a continuum of values.
|
||||
We thus technically also have an infinite number of possible state changes.
|
||||
Luckily, we can express any operator as a linear combination of the
|
||||
Fortunately, we can express any operator as a linear combination of the
|
||||
\emph{Pauli operators} \cite[Sec.~2.2]{gottesman_stabilizer_1997}
|
||||
\cite[Sec.~2.2]{roffe_quantum_2019}
|
||||
\begin{align*}
|
||||
@@ -957,23 +991,31 @@ Luckily, we can express any operator as a linear combination of the
|
||||
\begin{array}{c}
|
||||
Z\text{ Operator} \\
|
||||
\hline\\
|
||||
\ket{0} \mapsto -\ket{0} \\
|
||||
\ket{0} \mapsto \phantom{-}\ket{0} \\
|
||||
\ket{1} \mapsto -\ket{1}
|
||||
\end{array}%
|
||||
\hspace{10mm}%
|
||||
\begin{array}{c}
|
||||
Y\text{ Operator} \\
|
||||
\hline\\
|
||||
\ket{0} \mapsto -j\ket{1} \\
|
||||
\ket{0} \mapsto \phantom{-}j\ket{1} \\
|
||||
\hspace{2.75mm}\ket{1} \mapsto -j\ket{0} \hspace*{1mm}.
|
||||
\end{array}
|
||||
\end{align*}
|
||||
In fact, if we allow for complex coefficients, the $X$ and $Z$
|
||||
operators are sufficient to express any other operator as a linear
|
||||
combination \cite[Sec.~2.2]{roffe_quantum_2019}.
|
||||
$I$ is the identity operator and $X$ and $Z$ are referred to as
|
||||
\emph{bit-flips} and \emph{phase-flips} respectively.
|
||||
We also call these operators \emph{gates}.
|
||||
We call the set $\mathcal{G}_n = \left\{ \pm I,\pm jI, \pm X,\pm jX,
|
||||
\pm Y,\pm jY, \pm Z, \pm jZ \right\}^{\otimes n}$ the \emph{Pauli
|
||||
group} over $n$ qubits.
|
||||
|
||||
In the context of modifying qubit states, we also call operators \emph{gates}.
|
||||
When working with multi-qubit systems, we can also apply Pauli gates
|
||||
to individual qubits independently, e.g., $I_1 X_2 I_3 Z_4 Y_5$.
|
||||
We often omit the identity operators, instead writing $X_2 Z_4 Y_5$.
|
||||
to individual qubits independently, which we write, e.g., as $I_1 X_2
|
||||
I_3 Z_4 Y_5$.
|
||||
We often omit the identity operators, instead writing, e.g., $X_2 Z_4 Y_5$.
|
||||
Other important operators include the \emph{Hadamard} and
|
||||
\emph{controlled-NOT (CNOT)} gates \cite[Sec.~1.3]{nielsen_quantum_2010}
|
||||
\vspace*{-7mm}
|
||||
@@ -1010,20 +1052,51 @@ Other important operators include the \emph{Hadamard} and
|
||||
\noindent Many more operators relevant to quantum computing exist, but they are
|
||||
not covered here as they are not central to this work.
|
||||
|
||||
\indent\red{[We only need to consider X and Z errors]
|
||||
\cite[Equation~8]{roffe_quantum_2019}} \\
|
||||
\indent\red{[Explain commuting/anticommuting property of operators]
|
||||
[Journal~p.~46]}
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Quantum Circuits}
|
||||
\label{Quantum Circuits}
|
||||
|
||||
\noindent\indent\red{[Controlled operations]
|
||||
\cite[Sec.~4.3]{nielsen_quantum_2010}} \\
|
||||
\indent\red{[In case this reference is needed: Measurements
|
||||
\cite[Sec.~4.4]{nielsen_quantum_2010}]} \\
|
||||
\indent\red{[General circuit stuff] \cite[Sec.~1.3.4]{nielsen_quantum_2010}}
|
||||
% Intro
|
||||
|
||||
Using these quantum gates, we can construct \emph{circuits} to manipulate
|
||||
the states of qubits \cite[Sec.~1.3.4]{nielsen_quantum_2010}.
|
||||
Circuits are read from left to right and each horizontal wire
|
||||
represents a qubit whose state evolves as it passes through
|
||||
successive gates.
|
||||
|
||||
% General notation
|
||||
|
||||
A single line carries a quantum state, while a double line
|
||||
denotes a classical bit, typically used to carry the result of a measurement.
|
||||
A measurement is represented by a meter symbol.
|
||||
In general, gates are represented as labeled boxes placed on one or more wires.
|
||||
An exception is the CNOT gate, where the operation is represented as
|
||||
the symbol $\oplus$.
|
||||
|
||||
% Controlled gates & example
|
||||
|
||||
We can additionally add a control input to a gate.
|
||||
This conditions its application on the state of another qubit
|
||||
\cite[Sec.~4.3]{nielsen_quantum_2010}.
|
||||
The control connection is represented by a vertical line connecting
|
||||
the gate to the corresponding qubit, where a filled dot is placed.
|
||||
A controlled gate applies the respective operation only if the
|
||||
control qubit is in state $\ket{1}$.
|
||||
An example of this is the CNOT gate introduced in
|
||||
\autoref{subsec:Qubits and Multi-Qubit States}, which is depicted in
|
||||
\autoref{fig:cnot_circuit}.
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
\begin{quantikz}
|
||||
\lstick{$\ket{\psi}_1$} & \ctrl{1} & \\
|
||||
\lstick{$\ket{\psi}_2$} & \targ{} & \\
|
||||
\end{quantikz}
|
||||
|
||||
\caption{CNOT gate circuit.}
|
||||
\label{fig:cnot_circuit}
|
||||
\end{figure}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Quantum Error Correction}
|
||||
@@ -1035,11 +1108,11 @@ not covered here as they are not central to this work.
|
||||
|
||||
One of the major barriers on the road to building a functioning
|
||||
quantum computer is the inevitability of errors during quantum
|
||||
computation due to the difficulty in sufficiently isolating the
|
||||
computation. These arise due to the difficulty in sufficiently isolating the
|
||||
qubits from external noise \cite[Intro.]{roffe_quantum_2019}.
|
||||
This isolation is critical for quantum systems, as the constant interactions
|
||||
with the environment act as small measurements, leading to the
|
||||
eventual \emph{decoherence} of the quantum state
|
||||
with the environment act as small measurements, an effect called
|
||||
\emph{decoherence} of the quantum state
|
||||
\cite[Intro.]{gottesman_stabilizer_1997}.
|
||||
\ac{qec} is one approach of dealing with this problem, by protecting
|
||||
the quantum state in a similar fashion to information in classical error
|
||||
@@ -1047,12 +1120,12 @@ correction.
|
||||
|
||||
% The unique challenges of QEC
|
||||
|
||||
The problem setting of \ac{qec} differs slightly from the classical case, as
|
||||
three main restrictions apply \cite[Sec.~2.4]{roffe_quantum_2019}:
|
||||
The problem setting of \ac{qec} differs slightly from the classical case.
|
||||
Three main restrictions apply \cite[Sec.~2.4]{roffe_quantum_2019}:
|
||||
\begin{itemize}
|
||||
\item The no-cloning theorem states that it is
|
||||
impossible to exactly copy the state of one qubit into another.
|
||||
\item Qubit are susceptible to more types of errors than
|
||||
\item Qubits are susceptible to more types of errors than
|
||||
just bit-flips, as we saw in
|
||||
\autoref{subsec:Qubits and Multi-Qubit States}.
|
||||
\item Directly measuring the state of a qubit collapses it onto
|
||||
@@ -1063,16 +1136,32 @@ three main restrictions apply \cite[Sec.~2.4]{roffe_quantum_2019}:
|
||||
% General idea (logical vs. physical gates) + notation
|
||||
|
||||
Much like in classical error correction, in \ac{qec} information
|
||||
is protected by mapping it onto codewords in an expanded space,
|
||||
is protected by mapping it onto codewords in a higher-dimensional space,
|
||||
thereby introducing redundancy.
|
||||
To this end, $k \in \mathbb{N}$ \emph{logical qubits} are mapped onto
|
||||
$n \in \mathbb{N},~n>k$ \emph{physical qubits}.
|
||||
We circumvent the no-cloning restriction by not copying the state of
|
||||
the $k$ logical qubits, instead spreading it out over all $n$
|
||||
physical ones \cite[Intro.]{calderbank_good_1996}
|
||||
To differentiate a quantum codes from classical ones, we denote a
|
||||
$n \in \mathbb{N}$ \emph{physical qubits}, $n>k$.
|
||||
We circumvent the no-cloning restriction by not copying the state of any of
|
||||
the $k$ logical qubits, instead spreading the total state out over all $n$
|
||||
physical qubits \cite[Intro.]{calderbank_good_1996}.
|
||||
To differentiate quantum codes from classical ones, we denote a
|
||||
code with parameters $k,n$ and minimum distance $d_\text{min}$ using
|
||||
double brackets, as $[[ n,k,d_\text{min} ]]$ \cite[Sec.~4]{roffe_quantum_2019}.
|
||||
double brackets, as $\llbracket n,k,d_\text{min} \rrbracket$
|
||||
\cite[Sec.~4]{roffe_quantum_2019}.
|
||||
|
||||
% The backlog problem
|
||||
|
||||
Another difference between quantum and classical error correction
|
||||
lies in the resource constraints.
|
||||
For \ac{qec}, the most important property is low latency, not, e.g.,
|
||||
low overall computational complexity.
|
||||
This is due to the \emph{backlog problem}
|
||||
\cite[Sec.~II.G.3.]{terhal_quantum_2015}: There are certain gates
|
||||
at which the effect of existing errors on single qubits may be
|
||||
exacerbated by transforming them to multi-qubit errors.
|
||||
We wish to correct the errors before passing qubits through such gates.
|
||||
If the \ac{qec} system is not fast enough, there will be an increasing
|
||||
backlog of information at this point in the circuit, leading to an
|
||||
exponential slowdown in computation.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Stabilizer Measurements}
|
||||
@@ -1092,8 +1181,8 @@ Consider the two-qubit repetition code
|
||||
\underbrace{\ket{11}}_{=:\ket{1}_\text{L}}
|
||||
.%
|
||||
\end{align*}
|
||||
We call $\ket{\psi}_L$ the logical state.
|
||||
We define the \emph{codespace} as $\mathcal{C} := \text{span}\mleft\{
|
||||
We call $\ket{\psi}_L$ the logical state, and
|
||||
we define the \emph{codespace} as $\mathcal{C} := \text{span}\mleft\{
|
||||
\ket{00}, \ket{11} \mright\}$ and the \emph{error subspace} as
|
||||
$\mathcal{F} := \text{span} \mleft\{\ket{01}, \ket{10} \mright\}$.
|
||||
Note that this code is only able to detect single $X$-type errors.
|
||||
@@ -1132,9 +1221,9 @@ $E\ket{\psi}_\text{L}$ lies in $\mathcal{C}$ or $\mathcal{F}$.
|
||||
% non-compromising meausrement of the information
|
||||
To do this without directly observing (and thus potentially
|
||||
collapsing) the logical state $\ket{\psi}_\text{L}$, we prepare an
|
||||
ancilla qubit with state $\ket{0}_\text{A}$ and we entangle it with
|
||||
ancilla qubit with state $\ket{0}_\text{A}$ and entangle it with
|
||||
$\ket{\psi}_\text{L}$ in such a way that the eigenvalue is indicated
|
||||
by measuring that instead.
|
||||
by measuring the ancilla qubit instead.
|
||||
More specifically, using a stabilizer measurement circuit as shown in
|
||||
\autoref{fig:stabilizer_measurement}, we transform the state of the
|
||||
three-qubit system as
|
||||
@@ -1158,62 +1247,13 @@ the ancilla qubit. Similarly, if $E \ket{\psi}_\text{L} \in
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
\tikzset{
|
||||
meter/.append style={
|
||||
draw, rectangle,
|
||||
font=\vphantom{A}, minimum width=8mm, minimum height=8mm,
|
||||
path picture={
|
||||
\draw[black]
|
||||
([shift={(.1,.3)}]path picture bounding box.south west)
|
||||
to[bend left=50]
|
||||
([shift={(-.1,.3)}]path picture bounding box.south east);
|
||||
\draw[black,-latex]
|
||||
([shift={(0,.1)}]path picture bounding box.south)
|
||||
-- ([shift={(.3,-.1)}]path picture bounding box.north);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
\begin{tikzpicture}
|
||||
\node[rectangle, minimum width=2cm, minimum height=3cm, draw]
|
||||
(ZZ) {$Z_1Z_2$};
|
||||
|
||||
\coordinate (qi1) at (-3, 1);
|
||||
\coordinate (qi2) at (-3, -1);
|
||||
\coordinate (qi3) at (-3, -3);
|
||||
|
||||
\coordinate (qo1) at (4, 1);
|
||||
\coordinate (qo2) at (4, -1);
|
||||
\coordinate (qo3) at (4, -3);
|
||||
|
||||
\node[rectangle, minimum width=8mm, minimum height=8mm, draw]
|
||||
(H1) at ($(qo3 -| ZZ) + (-2, 0)$) {H};
|
||||
\node[rectangle, minimum width=8mm, minimum height=8mm, draw]
|
||||
(H2) at ($(qo3 -| ZZ) + (2, 0)$) {H};
|
||||
\node[circle, fill] (not) at (H1 -| ZZ) {};
|
||||
\node[meter, right=5mm of H2] (mes) {};
|
||||
|
||||
\draw (qi1) -- (ZZ.west |- qi1);
|
||||
\draw (qi2) -- (ZZ.west |- qi2);
|
||||
|
||||
\draw (qo1) -- (ZZ.east |- qo1);
|
||||
\draw (qo2) -- (ZZ.east |- qo2);
|
||||
|
||||
\draw (qi3) -- (H1) -- (not) -- (H2) -- (mes);
|
||||
|
||||
\draw (not) -- (ZZ);
|
||||
|
||||
\coordinate (qo3u) at ($(qo3) + (0, .5mm)$);
|
||||
\coordinate (qo3d) at ($(qo3) + (0, -.5mm)$);
|
||||
|
||||
\draw (mes.east |- qo3u) -- (qo3u);
|
||||
\draw (mes.east |- qo3d) -- (qo3d);
|
||||
|
||||
\node[left] at (qi3) {$\ket{0}_\text{A}$};
|
||||
\node[left] at ($(qi1)!.5!(qi2)$) {$E\ket{\psi}_\text{L}$};
|
||||
\node[right] at ($(qo1)!.5!(qo2)$) {$E\ket{\psi}_\text{L}$};
|
||||
|
||||
\end{tikzpicture}
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}
|
||||
\lstick[2]{$E\ket{\psi}_\text{L}$} & & \gate[2]{Z_1Z_2} & & & \\
|
||||
& & & & & \\
|
||||
\lstick{$\ket{0}_\text{A}$} & \gate{H} & \ctrl{-1} & \gate{H} & \meter{} & \setwiretype{c} \\
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
|
||||
\caption{Stabilizer measurement circuit for the two-qubit repetition code.}
|
||||
\label{fig:stabilizer_measurement}
|
||||
@@ -1237,23 +1277,25 @@ E.g., $P_\mathcal{C}$ will eliminate all components of $E
|
||||
\ket{\psi}_\text{L}$ that lie in $\mathcal{F}$.
|
||||
This process, together with the fact that any coherent error can be
|
||||
decomposed into a linear combination of $X$ and $Z$ errors, means
|
||||
that it is enough for a \ac{qec} to be able to correct only $X$ and $Z$ errors.
|
||||
that it is sufficient for \ac{qec} to be able to correct only these
|
||||
types of errors.
|
||||
This effect is referred to as error \emph{digitization}
|
||||
\cite[Sec.~2.2]{roffe_quantum_2019}.
|
||||
|
||||
% The stabilizer group
|
||||
|
||||
Operators such as $Z_1Z_2$ above are called \emph{stabilizers}.
|
||||
An operator $P_i \in \mathcal{G}_n$ is called a stabilizer of an
|
||||
More generally, an operator $P_i \in \mathcal{G}_n$ is called a stabilizer of an
|
||||
$[[n, k, d_\text{min}]]$ code $\mathcal{C}$, if
|
||||
\begin{itemize}
|
||||
\item It stabilizes all logical states, i.e.,
|
||||
$P_i\ket{\psi}_\text{L} = (+1)\ket{\psi}_\text{L} ~\forall~
|
||||
\ket{\psi}_\text{L} \in \mathcal{C}$.
|
||||
\item It commutes with all other stabilizers of the code. This
|
||||
property is important to be able to measure the eigenvalue of
|
||||
a stabilizer without disturbing the eigenvectors of the
|
||||
others \cite[Sec.~1.2]{gottesman_stabilizer_1997}.
|
||||
\item It commutes with all other stabilizers $P_j$ of the code,
|
||||
i.e., $[P_i, P_j] = 0$.
|
||||
This property is important to be able to measure the
|
||||
eigenvalue of a stabilizer without disturbing the
|
||||
eigenvectors of the others \cite[Sec.~1.2]{gottesman_stabilizer_1997}.
|
||||
\end{itemize}
|
||||
Formally, we define the \emph{stabilizer group} $\mathcal{S}$ as
|
||||
\cite[Sec.~4.1]{roffe_quantum_2019}
|
||||
@@ -1291,11 +1333,11 @@ and the stabilizer measurement returns 1.
|
||||
|
||||
For classical binary linear block codes, we use $n-k$ parity-checks
|
||||
to reduce the degrees of freedom introduced by the encoding operation.
|
||||
Effectively, each parity-check defines a local code, splitting the
|
||||
vector space in half, with only one half containing valid codewords.
|
||||
Effectively, each parity-check defines a local code splitting the
|
||||
vector space in half, with only one part containing valid codewords.
|
||||
The global code is the intersection of all local codes.
|
||||
We can do the same in the quantum case.
|
||||
Each split is represented using stabilizer, whose eigenvalues signify
|
||||
Each split is represented using a stabilizer, whose eigenvalues signify
|
||||
whether a candidate vector lies in the local codespace or local error subspace.
|
||||
It is only a valid codeword if it lies in the codespace of all local codes.
|
||||
We call codes constructed this way \emph{stabilizer codes}.
|
||||
@@ -1305,45 +1347,86 @@ We call codes constructed this way \emph{stabilizer codes}.
|
||||
Similar to the classical case, we can use a syndrome vector to
|
||||
describe which local codes are violated.
|
||||
To obtain the syndrome, we simply measure the corresponding
|
||||
operators, each using a circuit as explained in
|
||||
operators $P_i$, each using a circuit as explained in
|
||||
\autoref{subsec:Stabilizer Measurements}.
|
||||
A full \emph{syndrome extraction circuit} is depicted in \autoref{fig:sec}.
|
||||
Note that this is an abstract representation of the syndrome extraction.
|
||||
For the actual implementation in hardware, we can transform this into
|
||||
a circuit that requires only CNOT and H-gates
|
||||
\cite[Sec.~10.5.8]{nielsen_quantum_2010}.
|
||||
|
||||
% TODO: Move this further up to the commutativity of operators?
|
||||
\indent\red{[Fixing the error after finding it
|
||||
\cite[Sec.~10.5.5]{nielsen_quantum_2010}]} \\
|
||||
\indent\red{[Logical operators \cite[Sec.~4.2]{roffe_quantum_2019}]} \\
|
||||
\indent\red{[Measuring logical operators gives yields the outcomes of
|
||||
the encoded computations \cite[Sec.~2.6]{derks_designing_2025}]} \\
|
||||
\indent\red{[X and Z measurements can be performed with only CNOT and
|
||||
Hadamard gates \cite[Sec.~10.5.8]{nielsen_quantum_2010}]} \\
|
||||
\indent\red{[(?) Stabilizer generators]} \\
|
||||
\indent\red{[Parity-check matrix \cite[Sec.~10.5.1]{nielsen_quantum_2010}]}
|
||||
% Logical operators
|
||||
|
||||
In order to modify the logical state encoded using the physical
|
||||
qubits, we can use \emph{logical operators} \cite[Sec.~4.2]{roffe_quantum_2019}.
|
||||
For each qubit, there are two logical operators, $X_i$ and $Z_j$.
|
||||
These are operators that
|
||||
\begin{itemize}
|
||||
\item Commute with all the stabilizers in $\mathcal{S}$.
|
||||
\item Anti-commute with one another, i.e., $[ \overline{X}_i,
|
||||
\overline{Z}_i ]_{+} = \overline{X}_i \overline{Z}_i +
|
||||
\overline{Z}_i \overline{X}_i = 0$.
|
||||
\end{itemize}
|
||||
We can also measure these operators to find out the logical state a
|
||||
physical state corresponds to \cite[Sec.~2.6]{derks_designing_2025}.
|
||||
|
||||
% Parity-check matrix
|
||||
|
||||
% TODO: Do I have to introduce before that stabilizers only need X
|
||||
% and Z operators?
|
||||
We can represent stabilizer codes using a \emph{check matrix}
|
||||
\cite[Sec.~10.5.1]{nielsen_quantum_2010}
|
||||
\begin{align*}
|
||||
\bm{H} = \left[
|
||||
\begin{array}{c|c}
|
||||
\bm{H}_X & \bm{H}_Z
|
||||
\end{array}
|
||||
\right]
|
||||
,%
|
||||
\end{align*}
|
||||
with $\bm{H} \in \mathbb{F}_2^{(n-k)\times(2n)}$.
|
||||
This is similar to a classical \ac{pcm} in that it contains $n-k$
|
||||
rows, each describing one constraint. Each constraint restricts an additional
|
||||
degree of freedom of the higher-dimensional space we use to introduce
|
||||
redundancy.
|
||||
In contrast to the classical case, this matrix now has $2n$ columns,
|
||||
as we have to consider both the $X$ and $Z$ type operators that make up
|
||||
the stabilizers.
|
||||
Take for example the Steane code \cite[Eq.~10.83]{nielsen_quantum_2010}.
|
||||
We can describe it using the check matrix
|
||||
\begin{align}
|
||||
\label{eq:steane}
|
||||
\bm{H}_\text{Steane} = \left[
|
||||
\begin{array}{ccccccc|ccccccc}
|
||||
0 & 0 & 0 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 1 & 1 & 0 & 0 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\
|
||||
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 1 & 1 \\
|
||||
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1
|
||||
\end{array}
|
||||
\right]
|
||||
.%
|
||||
\end{align}
|
||||
The first $n$ columns correspond to $X$ operators acting on the
|
||||
corresponding physical qubit, the rest to the $Z$ operators.
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
\tikzset{
|
||||
meter/.append style={
|
||||
draw, rectangle,
|
||||
font=\vphantom{A}, minimum width=8mm, minimum height=8mm,
|
||||
path picture={
|
||||
\draw[black]
|
||||
([shift={(.1,.3)}]path picture bounding box.south west)
|
||||
to[bend left=50]
|
||||
([shift={(-.1,.3)}]path picture bounding box.south east);
|
||||
\draw[black,-latex]
|
||||
([shift={(0,.1)}]path picture bounding box.south)
|
||||
-- ([shift={(.3,-.1)}]path picture bounding box.north);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
\red{Hier könnte Ihre Werbung stehen.}
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}
|
||||
\lstick[2]{$E\ket{\psi}_\text{L}$} & & \gate[2]{P_1} & \gate[2]{P_2} & \gate[style={draw=none},2]{\ldots} & \gate[2]{P_{n-k}} & & & \\
|
||||
& & & & & & & & \\
|
||||
\lstick{$\ket{0}_{\text{A}_1}$} & \gate{H} & \ctrl{-1} & & & & \gate{H} & \meter{} & \setwiretype{c} \\
|
||||
\lstick{$\ket{0}_{\text{A}_2}$} & \gate{H} & & \ctrl{-2} & & & \gate{H} & \meter{} & \setwiretype{c} \\
|
||||
\vdots\setwiretype{n} & & & & & & & & \vdots \\
|
||||
\lstick{$\ket{0}_{\text{A}_{n-k}}$} & \gate{H} & & & & \ctrl{-4} & \gate{H} & \meter{} & \setwiretype{c} \\
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
|
||||
\caption{
|
||||
\red{Illustration of a general syndrome extraction circuit.
|
||||
Adapted from \cite[Figure~4]{roffe_quantum_2019}.}
|
||||
Illustration of a full syndrome extraction circuit.
|
||||
Adapted from \cite[Figure~4]{roffe_quantum_2019}.
|
||||
}
|
||||
\label{fig:sec}
|
||||
\end{figure}
|
||||
@@ -1352,76 +1435,275 @@ Hadamard gates \cite[Sec.~10.5.8]{nielsen_quantum_2010}]} \\
|
||||
\subsection{Calderbank-Shor-Steane Codes}
|
||||
\label{subsec:Calderbank-Shor-Steane Codes}
|
||||
|
||||
% Intro
|
||||
|
||||
Stabilizer codes are especially practical to work with when they can
|
||||
handle $X$- and $Z$-type errors independently.
|
||||
We can then separate the stabilizer generators into some with only
|
||||
$Z$ operators and some with only $X$ operators.
|
||||
handle $X$ and $Z$ type errors independently.
|
||||
As $Z$ errors anti-commute with $X$ operators in the stabilizers and
|
||||
vice versa, this property translates into being able to split the
|
||||
stabilizers into a subset being made up of only $X$
|
||||
operators and the rest only of $Z$ operators.
|
||||
We call such codes \ac{css} codes.
|
||||
We can see this property in \autoref{eq:steane} in the check matrix
|
||||
of the Steane code.
|
||||
|
||||
\indent\red{[Z-type operators for X type errors and vice versa ]} \\
|
||||
\indent\red{[Construction from two binary linear codes
|
||||
\cite[p.~452,469]{nielsen_quantum_2010}]}
|
||||
% Construction
|
||||
|
||||
We can exploit this separate consideration of $X$ and $Z$ errors in
|
||||
the construction of \ac{css} codes.
|
||||
We combine two binary linear codes $\mathcal{C}_1$ and
|
||||
$\mathcal{C}_2$, each responsible for correcting one type of error
|
||||
\cite[Sec.~10.5.6]{nielsen_quantum_2010}.
|
||||
Using the dual code of $\mathcal{C}_2$ \cite[Eq.~3.4]{ryan_channel_2009}
|
||||
\begin{align*}
|
||||
\mathcal{C}_2^\perp := \left\{ \bm{x}' \in \mathbb{F}^2 :
|
||||
\bm{x}' \bm{x}^\text{T} = 0 ~\forall \bm{x} \in \mathcal{C}_2 \right\}
|
||||
,%
|
||||
\end{align*}
|
||||
we define $\bm{H}_X := \bm{H}(\mathcal{C}_2^\perp)$ and $\bm{H}_Z
|
||||
:= \bm{H}(\mathcal{C}_1)$, and construct the check matrix as
|
||||
\begin{align*}
|
||||
\left[
|
||||
\begin{array}{c|c}
|
||||
\bm{H}_X & \bm{0} \\
|
||||
\bm{0} & \bm{H}_Z
|
||||
\end{array}
|
||||
\right]
|
||||
.%
|
||||
\end{align*}
|
||||
In order to yield a valid stabilizer code, $\mathcal{C}_1$ and
|
||||
$\mathcal{C}_2$ must satisfy the commutativity condition
|
||||
\begin{align}
|
||||
\label{eq:css_condition}
|
||||
\bm{H}_X \bm{H}_Z^\text{T} = \bm{0}
|
||||
.%
|
||||
\end{align}
|
||||
We can ensure this is the case by choosing them such that
|
||||
$\mathcal{C}_2 \subset \mathcal{C}_1$.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Quantum Low-Density Parity-Check Codes}
|
||||
\label{subsec:Quantum Low-Density Parity-Check Codes}
|
||||
|
||||
% Intro
|
||||
|
||||
Various methods of constructing \ac{qec} codes exist
|
||||
\cite{swierkowska_eccentric_2025}.
|
||||
Topological codes, for example, encode information in the features of
|
||||
a lattice and are intrinsically robust against local errors.
|
||||
Among these, the \emph{surface code} is the most widely studied.
|
||||
Another example are concatenated codes, which nest one code within
|
||||
another, allowing for especially simple and flexible constructions
|
||||
\cite[Sec.~3.2]{swierkowska_eccentric_2025}.
|
||||
An area of research that has recently seen more attention is that of
|
||||
quantum \ac{ldpc} (\acs{qldpc}) codes.
|
||||
They have much better encoding efficiency than, e.g., the surface
|
||||
code, scaling up of which would be prohibitively expensive
|
||||
\cite[Sec.~I]{bravyi_high-threshold_2024}.
|
||||
|
||||
% Bivariate Bicycle codes
|
||||
|
||||
A recent addition to the class of \ac{qldpc} codes is that of \ac{bb}
|
||||
codes \cite[Sec.~3]{bravyi_high-threshold_2024}.
|
||||
These are a special type of \ac{css} code, where $\bm{H}_X$ and
|
||||
$\bm{H}_Z$ are constructed from two matrices $\bm{A}$ and $\bm{B}$ as
|
||||
\begin{align*}
|
||||
\bm{H}_X = [\bm{A} \vert \bm{B}]
|
||||
\hspace*{5mm} \text{and} \hspace*{5mm}
|
||||
\bm{H}_Z = [\bm{B}^\text{T} \vert \bm{A}^\text{T}]
|
||||
.%
|
||||
\end{align*}
|
||||
This way, we can guarantee the satisfaction of the commutativity
|
||||
condition (\autoref{eq:css_condition}).
|
||||
To define $\bm{A}$ and $\bm{B}$ we first introduce some additional notation.
|
||||
We denote the identity matrix as $\bm{I_l} \in \mathbb{F}^{l\times l}$ and
|
||||
the \emph{cyclic shift matrix} as $\bm{S_l} \in \mathbb{F}^{l\times
|
||||
l},~S_{l,i,j}= \delta_{i+1,j}$, with $l \in \mathbb{N}$.
|
||||
We further define
|
||||
\begin{align*}
|
||||
x = \bm{S}_l \otimes \bm{I}_m
|
||||
\hspace*{5mm} \text{and} \hspace*{5mm}
|
||||
y = \bm{I}_l \otimes \bm{S}_m
|
||||
.%
|
||||
\end{align*}
|
||||
We can then construct $\bm{A}$ and $\bm{B}$ as bivariate polynomials
|
||||
\begin{align*}
|
||||
\bm{A} = \bm{A}_1 + \bm{A}_2 + \bm{A}_3
|
||||
\hspace*{5mm} \text{and} \hspace*{5mm}
|
||||
\bm{B} = \bm{B}_1 + \bm{B}_2 + \bm{B}_3
|
||||
,%
|
||||
\end{align*}
|
||||
where $\bm{A}_i$ and $\bm{B}_i$ are powers of $\bm{x}$ or $\bm{y}$.
|
||||
\ac{bb} codes have large minimum distance $d_\text{min}$ and high rate,
|
||||
offering a more than 10-fold reduction of encoding overhead over the
|
||||
surface code.
|
||||
Additionally, they posess short-depth syndrome measurement circuits,
|
||||
leading to lower time requirements for the syndrome extraction
|
||||
and thus lower error rates \cite[Sec.~1]{bravyi_high-threshold_2024}.
|
||||
|
||||
% Syndrome-based BP
|
||||
|
||||
As we saw in \autoref{subsec:Stabilizer Measurements}, we work only
|
||||
with the parity information contained in the syndrome, to avoid
|
||||
disturbing the quantum states of individual qubits.
|
||||
This necessitates a modification of the standard \ac{bp} algorithm
|
||||
introduced in \autoref{subsec:Iterative Decoding}
|
||||
\cite[Sec.~3.1]{yao_belief_2024}.
|
||||
Instead of attempting to find the most likely codeword directly, the
|
||||
algorithm will now try to find an error pattern $\hat{\bm{e}} \in
|
||||
\mathbb{F}_2^n$ that satisfies
|
||||
\begin{align*}
|
||||
\bm{H} \hat{\bm{e}}^\text{T} = \bm{s}
|
||||
.%
|
||||
\end{align*}
|
||||
To this end, we initialize the channel \acp{llr} as
|
||||
\begin{align*}
|
||||
\tilde{L}_i = \log{\frac{P(X_i = 0)}{P(X_i = 1)}} = \log{\frac{1
|
||||
- p_i}{p_i}}
|
||||
,%
|
||||
\end{align*}
|
||||
where $p_i$ is the prior probability of error of \ac{vn} $i$.
|
||||
Additionally, we amend the \ac{cn} update to consider the parity
|
||||
indicated by the syndrome, calculating
|
||||
\begin{align*}
|
||||
L_{i\leftarrow j} = 2\cdot (-1)^{s_j} \cdot \tanh^{-1} \left( \prod_{i'\in
|
||||
\mathcal{N}(j)\setminus \{i\}} \tanh \frac{L_{i'\rightarrow j}}{2} \right)
|
||||
.
|
||||
\end{align*}
|
||||
The resulting syndrome-based \ac{bp} algorithm is shown in
|
||||
algorithm \ref{alg:syndome_bp}.
|
||||
|
||||
\noindent\red{[Constant overhead scaling]} \\
|
||||
\noindent\red{[Scaling of minimum distance with code length]} \\
|
||||
\noindent\red{[Bivariate Bicycle codes]} \\
|
||||
\noindent\red{[Decoding QLDPC codes (syndrome-based BP)]} \\
|
||||
\noindent\red{[Degeneracy -> BP+OSD, BPGD]} \\
|
||||
\noindent\red{[``The task of decoding is therefore to infer, from a
|
||||
measured syndrome, the most likely error coset rather than the exact
|
||||
physical error.''
|
||||
% tex-fmt: off
|
||||
\cite[Sec.~II~B)]{koutsioumpas_colour_2025}]}%
|
||||
\tikzexternaldisable
|
||||
\begin{algorithm}[t]
|
||||
\caption{Binary syndrome-based belief propagation (BP) algorithm.}
|
||||
\label{alg:syndome_bp}
|
||||
\begin{algorithmic}[1]
|
||||
\State \textbf{Initialize:} $\tilde{L}_i \leftarrow
|
||||
\log \frac{1-p_i}{p_i}$ for all $i \in \mathcal{I}$
|
||||
\State \textbf{Initialize:} $L_{i \rightarrow j} \leftarrow
|
||||
\tilde{L}_i$ for all $i \in \mathcal{I},\, j \in \mathcal{N}_\text{V}(i)$
|
||||
\State \textbf{Initialize:} $\hat{e} \leftarrow \bm{0}$
|
||||
|
||||
\For{$\ell = 1, \ldots, n_\text{iter}$}
|
||||
|
||||
\For{$j \in \mathcal{J}$}
|
||||
\For{$i \in \mathcal{N}_\text{C}(j)$}
|
||||
\State $\displaystyle L_{i \leftarrow j} \leftarrow
|
||||
2\cdot(-1)^{s_j}\cdot\tanh^{-1}
|
||||
\!\left(
|
||||
\prod_{i' \in \mathcal{N}_\text{C}(j)\setminus\{i\}}
|
||||
\tanh\frac{L_{i'\rightarrow j}}{2}
|
||||
\right)$
|
||||
\EndFor
|
||||
\EndFor
|
||||
|
||||
\For{$i \in \mathcal{I}$}
|
||||
\For{$j \in \mathcal{N}_\text{V}(i)$}
|
||||
\State $\displaystyle L_{i \rightarrow j} \leftarrow
|
||||
\tilde{L}_i +
|
||||
\sum_{j' \in \mathcal{N}_\text{V}(i)\setminus\{j\}}
|
||||
L_{i \leftarrow j'}$
|
||||
\EndFor
|
||||
\EndFor
|
||||
|
||||
\For{$i \in \mathcal{I}$}
|
||||
\State $\displaystyle \hat{e}_i \leftarrow
|
||||
\mathbbm{1}\left\{
|
||||
\tilde{L}_i +
|
||||
\sum_{j \in \mathcal{N}_\text{V}(i)} L_{i \leftarrow j} < 0
|
||||
\right\}$
|
||||
\EndFor
|
||||
|
||||
\If{$\bm{H}\hat{\bm{e}}^\text{T} = \bm{s}$}
|
||||
\State \textbf{break}
|
||||
\EndIf
|
||||
|
||||
\EndFor
|
||||
\State \textbf{return} $\hat{\bm{e}}$
|
||||
\end{algorithmic}
|
||||
\end{algorithm}
|
||||
\tikzexternalenable
|
||||
% tex-fmt: on
|
||||
\\
|
||||
|
||||
\red{
|
||||
\textbf{General Notes:}
|
||||
\begin{itemize}
|
||||
\item Note that there are other codes than stabilizer codes
|
||||
(and research and give some examples), but only
|
||||
stabilizer codes are considered in this work
|
||||
\item Degeneracy
|
||||
\item The QEC decoding problem (considering degeneracy)
|
||||
\cite[Sec.~2.3]{yao_belief_2024}
|
||||
\end{itemize}
|
||||
\textbf{Content:}
|
||||
\begin{itemize}
|
||||
\item General context
|
||||
\begin{itemize}
|
||||
\item Why we need QEC (correcting errors due
|
||||
to noisy gates)
|
||||
\item Main challenges of QEC compared to classical
|
||||
error correction
|
||||
\item Logical vs physical states, logical vs
|
||||
physical operators
|
||||
\end{itemize}
|
||||
\item Stabilizer codes
|
||||
\begin{itemize}
|
||||
\item Definition of a stabilizer code
|
||||
\item The stabilizer its generators (note somewhere
|
||||
that the generators have to commute
|
||||
to be able to
|
||||
be measured without disturbing each other)
|
||||
(Why we need commutativity of the
|
||||
stabilizers [Journal,
|
||||
p.~51], [Got97, p.~6])
|
||||
\item syndrome extraction circuit
|
||||
\item Stabilizer codes are effectively the QM
|
||||
% TODO: Actually binary linear codes or
|
||||
% just linear codes?
|
||||
equivalent of binary linear codes (e.g.,
|
||||
expressible via check matrix)
|
||||
\item Similar to parity checks, quantum states can be
|
||||
more conveniently described using stabilizers
|
||||
rather than working with the states directly
|
||||
\cite[Sec.~10.5.1]{nielsen_quantum_2010}
|
||||
\end{itemize}
|
||||
\item Digitization of errors
|
||||
\item CSS codes
|
||||
\item Color codes?
|
||||
\item Surface codes?
|
||||
\end{itemize}
|
||||
}
|
||||
% Degeneracy and short cycles
|
||||
|
||||
Decoding \ac{qldpc} codes poses some unique challenges.
|
||||
One issue is that of \emph{quantum degeneracy}.
|
||||
Because errors that differ by a stabilizer have the same impact on
|
||||
all codewords, there can be multiple minimum-weight solutions to the
|
||||
quantum decoding problem \cite[Sec.~II.C.]{babar_fifteen_2015}
|
||||
\cite[Sec.~V]{roffe_decoding_2020}.
|
||||
This leads to the decoding algorithm getting confused about the
|
||||
direction to proceed in \cite[Sec.~5]{yao_belief_2024}.
|
||||
Another problem is that due to the commutativity property of the stabilizers,
|
||||
quantum codes inherently contain short cycles
|
||||
\cite[Sec.~IV.C]{babar_fifteen_2015}.
|
||||
As discussed in \autoref{subsec:Iterative Decoding}, these lead to
|
||||
the violation of the independence assumption of the messages passed
|
||||
during decoding, impeding performance.
|
||||
|
||||
% BPGD
|
||||
|
||||
The aforementioned issues both manifest themselves as convergence problems
|
||||
of the \ac{bp} algorithm, and different ways of modifying the algorithm
|
||||
to aid with convergence exist.
|
||||
One approach is to use \ac{bp} with guided decimation (\acs{bpgd})
|
||||
\cite[Alg.~1]{yao_belief_2024}.
|
||||
Here, a number $T\in \mathbb{N}$ of \ac{bp} iterations are performed,
|
||||
before \emph{decimating} the most reliable \ac{vn}, i.e., performing
|
||||
a hard decision and excluding it from further decoding.
|
||||
This constrains the solution space more and more as the decoding
|
||||
progresses, encouraging the algorithm to converge to one of the
|
||||
solutions \cite[Sec.~5]{yao_belief_2024}.
|
||||
Algorithm \ref{alg:bpgd} shows this process.
|
||||
Note that as the Tanner graph only has $n$ \acp{vn}, this is a
|
||||
natural constraint on the maximum number of outer iterations of the algorithm.
|
||||
|
||||
% TODO: Explain that setting the channel LLR to infinity is the same
|
||||
% as a hard decision and ignoring the VN in the further decoding
|
||||
% tex-fmt: off
|
||||
\tikzexternaldisable
|
||||
\begin{algorithm}[t]
|
||||
\caption{Belief propagation with guided decimation (BPGD) algorithm.}
|
||||
\label{alg:bpgd}
|
||||
\begin{algorithmic}[1]
|
||||
\State \textbf{Initialize:} $\tilde{L}_i \leftarrow
|
||||
\log \frac{1-p_i}{p_i}$ for all $i \in \mathcal{I}$
|
||||
\State \textbf{Initialize:} $L_{i \rightarrow j} \leftarrow
|
||||
\tilde{L}_i$ for all $i \in \mathcal{I},\, j \in \mathcal{N}_\text{V}(i)$
|
||||
\State \textbf{Initialize:} $\hat{e} \leftarrow \bm{0}$
|
||||
\State \textbf{Initialize:} $\mathcal{I}' \leftarrow \mathcal{I}$
|
||||
|
||||
\For{$r = 1, \ldots, n$}
|
||||
|
||||
\For{$\ell = 1, \ldots, T$}
|
||||
\State Perform \ac{cn} update
|
||||
\State Perform \ac{vn} update
|
||||
\State $L^\text{total}_i \leftarrow \tilde{L}_i + \sum_{j \in \mathcal{N}_\text{V}(i)} L_{i \leftarrow j}$
|
||||
\EndFor
|
||||
|
||||
\For{$i \in \mathcal{I}$}
|
||||
\State $\displaystyle \hat{e}_i \leftarrow
|
||||
\mathbbm{1}\left\{ L^\text{total}_i \right\}$
|
||||
\EndFor
|
||||
|
||||
\If{$\bm{H}\hat{\bm{e}}^\text{T} = \bm{s}$}
|
||||
\State \textbf{break}
|
||||
\Else
|
||||
\State $i_\text{max} \leftarrow \argmax_{i \in \mathcal{I}'} \lvert L^\text{total}_i \rvert $
|
||||
\If{$L^\text{total}_{i_\text{max}} < 0$}
|
||||
\State $\tilde{L}_{i_\text{max}} \leftarrow -\infty$
|
||||
\Else
|
||||
\State $\tilde{L}_{i_\text{max}} \leftarrow +\infty$
|
||||
\EndIf
|
||||
\State $\mathcal{I}' \leftarrow \mathcal{I}'\setminus\{i_\text{max}\}$
|
||||
\EndIf
|
||||
|
||||
\EndFor
|
||||
\State \textbf{return} $\hat{\bm{e}}$
|
||||
\end{algorithmic}
|
||||
\end{algorithm}
|
||||
\tikzexternalenable
|
||||
% tex-fmt: on
|
||||
|
||||
|
||||
@@ -1,18 +1,862 @@
|
||||
% TODO: Make all [H] -> [t]
|
||||
\chapter{Fault Tolerant QEC}
|
||||
\section{Fault Tolerance}
|
||||
|
||||
% 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.
|
||||
|
||||
% 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.
|
||||
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.
|
||||
Specifically for \ac{css} codes, a \ac{qec} procedure is deemed
|
||||
\emph{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:
|
||||
\lVert \bm{e}_\text{input} \rVert + \lVert \bm{e}_\text{internal}
|
||||
\rVert \le t \\[1mm]
|
||||
\text{and} \\[1mm]
|
||||
\lVert \bm{e}_{\text{output},Z} \rVert \le t \hspace{5mm}
|
||||
\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{gather*}
|
||||
where $t = \lfloor (d_\text{min} -1)/2 \rfloor$ is the number of
|
||||
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.
|
||||
Typically, the number of syndrome extraction rounds is chosen as $d_\text{min}$.
|
||||
|
||||
% % This is the definition of a fault-tolerant QEC gadget
|
||||
% 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
|
||||
|
||||
% TODO: Are the fault-tolerant QEC procedures where we don't perform
|
||||
% multiple measurement rounds?
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
\begin{tikzpicture}
|
||||
\node[rectangle, draw, fill=orange!20, minimum
|
||||
height=2cm, minimum width=2.5cm, align=center] at (0,0)
|
||||
(internal) {Internal Errors\\ $\bm{e}_\text{internal}$};
|
||||
|
||||
\node[signal, draw, fill=orange!20, minimum height=2cm,
|
||||
minimum width=2.5cm, align=center, signal pointer angle=140]
|
||||
at (-2.8, 0) (input) {Input Errors \\ $\bm{e}_\text{input}$};
|
||||
|
||||
\node at (1.99,0) {\huge =};
|
||||
|
||||
\node[rectangle, draw, fill=orange!20, minimum height=2cm,
|
||||
minimum width=2.5cm, align=center] at (4,0) (output)
|
||||
{Output Errors\\ $\bm{e}_\text{output}$};
|
||||
|
||||
\node[above] at (input.north) {\small Input State};
|
||||
\node[above] at (internal.north) {\small QEC};
|
||||
\node[above] at (output.north) {\small Output State};
|
||||
\end{tikzpicture}
|
||||
|
||||
\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}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Noise Models}
|
||||
\subsection{Depolarizing Channel}
|
||||
\subsection{Phenomenological Noise}
|
||||
\subsection{Circuit-Level Noise}
|
||||
\label{sec:Noise Models}
|
||||
|
||||
% 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.
|
||||
There are different types of noise models, each allowing for
|
||||
different error locations in the circuit.
|
||||
|
||||
% Figure intro
|
||||
|
||||
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.
|
||||
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
|
||||
opposed to the system-level view introduced in
|
||||
\autoref{subsec:Stabilizer Codes}.
|
||||
We visualize the different types of noise models in
|
||||
\autoref{fig:noise_model_types}.
|
||||
|
||||
% 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
|
||||
|
||||
Extending bit-flip noise to consider $X,Z$ or $Y$ instead of just $X$
|
||||
errors, we obtain the \emph{depolarizing channel}
|
||||
\cite[Sec.~7.6]{gottesman_stabilizer_1997}, depicted in
|
||||
\autoref{subfig:depolarizing}.
|
||||
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.
|
||||
Bit-flip noise and the depolarizing channel are sometimes referred to
|
||||
as \emph{code capacity noise models}.
|
||||
|
||||
% Phenomenological noise
|
||||
|
||||
The \emph{phenomenological noise model} is the first type of noise model we
|
||||
examine that accounts for faults during the syndrome extraction.
|
||||
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,
|
||||
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
|
||||
|
||||
The most general type of noise model is \emph{circuit-level noise}.
|
||||
Here we not only consider noise inbetween syndrome extraction rounds
|
||||
and at the measurements, but at each gate.
|
||||
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.
|
||||
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
|
||||
|
||||
\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}%
|
||||
|
||||
\caption{
|
||||
Syndrome extraction circuit for the three-qubit repetition
|
||||
code under bit-flip noise.
|
||||
}
|
||||
\label{fig:pure_syndrome_extraction}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
\newcommand{\xerr}{\gate[style={fill=KITblue!50}]{\phantom{1}}}
|
||||
\newcommand{\xyzerr}{\gate[style={
|
||||
draw=black,
|
||||
fill=KITred,
|
||||
path picture={
|
||||
% tex-fmt: off
|
||||
\fill[KITblue!60]
|
||||
($(path picture bounding box.south west)+(0,0)$)
|
||||
-- ($(path picture bounding box.north west)+(0,0)$)
|
||||
-- ($(path picture bounding box.north west)+(0.28,0)$)
|
||||
-- cycle;
|
||||
\fill[KITorange!60]
|
||||
($(path picture bounding box.north east)+(0,0)$)
|
||||
-- ($(path picture bounding box.south east)+(0,0)$)
|
||||
-- ($(path picture bounding box.south east)+(-0.28,0)$)
|
||||
-- cycle;
|
||||
\fill[KITred!60]
|
||||
($(path picture bounding box.north east)+(0,0)$)
|
||||
-- ($(path picture bounding box.south east)+(-0.28,0)$)
|
||||
-- ($(path picture bounding box.south west)+(0,0)$)
|
||||
-- ($(path picture bounding box.north west)+(0.28,0)$)
|
||||
-- cycle;
|
||||
% tex-fmt: on
|
||||
}
|
||||
}]{\phantom{1}}}
|
||||
|
||||
\begin{minipage}{0.7\textwidth}
|
||||
\begin{minipage}{\textwidth}
|
||||
\centering
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}[row sep=4mm, column sep=4mm]
|
||||
\lstick[3]{$\ket{\psi}_\text{L}$} & \xerr & \ctrl{3} & & & & & \\
|
||||
& \xerr & & \ctrl{2} & \ctrl{3} & & & \\
|
||||
& \xerr & & & & \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
|
||||
|
||||
\subcaption{Bit-flip noise.}
|
||||
\label{subfig:bit_flip}
|
||||
\end{minipage}
|
||||
|
||||
\vspace*{5mm}
|
||||
|
||||
\begin{minipage}{\textwidth}
|
||||
\centering
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}[row sep=4mm, column sep=4mm]
|
||||
\lstick[3]{$\ket{\psi}_\text{L}$} & \xyzerr & \ctrl{3} & & & & & \\
|
||||
& \xyzerr & & \ctrl{2} & \ctrl{3} & & & \\
|
||||
& \xyzerr & & & & \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
|
||||
|
||||
\subcaption{Depolarizing channel.}
|
||||
\label{subfig:depolarizing}
|
||||
\end{minipage}
|
||||
|
||||
\vspace*{5mm}
|
||||
|
||||
\begin{minipage}{\textwidth}
|
||||
\centering
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}[row sep=4mm, column sep=4mm]
|
||||
\lstick[3]{$\ket{\psi}_\text{L}$} & \xyzerr & \ctrl{3} & & & & & & \xyzerr & & \setwiretype{n} & \\
|
||||
& \xyzerr & & \ctrl{2} & \ctrl{3} & & & & \xyzerr & & \setwiretype{n} & \gate[style={left,draw=none}]{\cdots} \\
|
||||
& \xyzerr & & & & \ctrl{2} & & & \xyzerr & & \setwiretype{n} & \\
|
||||
\lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & \xerr & \meter{} & \setwiretype{c} \\
|
||||
\lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & \xerr & \meter{} & \setwiretype{c}
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
|
||||
\subcaption{Phenomenological noise.}
|
||||
\label{subfig:phenomenological}
|
||||
\end{minipage}
|
||||
|
||||
\vspace*{5mm}
|
||||
|
||||
\begin{minipage}{\textwidth}
|
||||
\centering
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}[row sep=4mm, column sep=2mm]
|
||||
\lstick[3]{$\ket{\psi}_\text{L}$} & \xyzerr & \ctrl{3} & \xyzerr \wire[d][3]{q} & & & & & & & & & \xyzerr & & \setwiretype{n} & \\
|
||||
& \xyzerr & & & \ctrl{2} & \xyzerr \wire[d][2]{q} & \ctrl{3} & \xyzerr \wire[d][3]{q} & & & & & \xyzerr & & \setwiretype{n} & \gate[style={left,draw=none,xshift=3.5mm}]{\cdots} \\
|
||||
& \xyzerr & & & & & & & \ctrl{2} & \xyzerr \wire[d][2]{q} & & & \xyzerr & & \setwiretype{n} & \\
|
||||
\lstick{$\ket{0}_{\text{A}_1}$} & \xyzerr & \targ{} & \xyzerr & \targ{} & \xyzerr & & & & & \xerr & \meter{} & \setwiretype{c} \\
|
||||
\lstick{$\ket{0}_{\text{A}_2}$} & \xyzerr & & & & & \targ{} & \xyzerr & \targ{} & \xyzerr & \xerr & \meter{} & \setwiretype{c}
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
|
||||
\subcaption{Circuit-level noise.}
|
||||
\label{subfig:circuit_level}
|
||||
\end{minipage}
|
||||
\end{minipage}%
|
||||
\hfill%
|
||||
\begin{minipage}{0.23\textwidth}
|
||||
\centering
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}[row sep=4mm, column sep=2mm]
|
||||
\setwiretype{n} & \xerr & \gate[style={right, draw=none, xshift=-15mm}]{\text{X error}} \\
|
||||
\setwiretype{n} & \xyzerr & \gate[style={right, draw=none, xshift=-15mm}]{\text{X,Z, or Y error}} \\
|
||||
\setwiretype{n} & \gate{\phantom{1}}\wire[d][1]{q} & \gate[style={right, draw=none, xshift=-15mm},2]{\text{Two-qubit error}} \\
|
||||
\setwiretype{n} & \gate{\phantom{1}} &
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
\end{minipage}
|
||||
|
||||
\caption{Types of noise models.}
|
||||
\label{fig:noise_model_types}
|
||||
\end{figure}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\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}}
|
||||
|
||||
% Core idea
|
||||
|
||||
The goal we strive to achieve is to consider the possible error
|
||||
locations in the syndrome extraction circuitry during decoding.
|
||||
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
|
||||
circuit and each corresponds to a \ac{cn} to a syndrome measurement.
|
||||
This circuit code, combined with the prior probabilities of error
|
||||
given by the noise model, incorporates all information necessary for decoding.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Measurement Syndrome Matrix}
|
||||
\label{subsec:Measurement Syndrome Matrix}
|
||||
|
||||
% Mathematical definition
|
||||
|
||||
We describe the circuit code using the \emph{measurement syndrome
|
||||
matrix} matrix $\bm{\Omega} \in \mathbb{F}_2^{m\times N}$, with
|
||||
\begin{align*}
|
||||
\Omega_{j,i} =
|
||||
\begin{cases}
|
||||
1, & \text{Error $i$ flips measurement $j$}\\
|
||||
0, & \text{otherwise}
|
||||
\end{cases}
|
||||
.%
|
||||
\end{align*}
|
||||
This matrix thus defines the 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}.
|
||||
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 replicating the syndrome extraction circuitry, three
|
||||
times in this case, as can be seen in
|
||||
\autoref{fig:rep_code_multiple_rounds_bit_flip}.
|
||||
We consider only bit flip noise at this stage.
|
||||
For each syndrome extraction round we get an additional set of
|
||||
syndrome measurements.
|
||||
We combine these measurements by stacking them in a new vector $\bm{s}
|
||||
\in \mathbb{F}_2^{n_\text{rounds}\cdot(n-k)}$.
|
||||
To accomodate the additional syndrome bits, we extend the
|
||||
matrix $\bm{\Omega}$ representing the circuit by replicating the rows as well.
|
||||
Recall that $\bm{\Omega}$ describes which \ac{vn} is connected to
|
||||
which parity check and the syndrome indicates which parity checks
|
||||
are violated.
|
||||
This means that if an error exists at only a single \ac{vn}, we can
|
||||
read off the syndrome in the corresponding column.
|
||||
|
||||
% Expand to phenomenological
|
||||
|
||||
We now whish to expand the error model to phenomenological noise, though
|
||||
only considering $X$ errors in this case.
|
||||
We introduce new error locations at the respective positions,
|
||||
arriving at the circuit depicted in
|
||||
\autoref{fig:rep_code_multiple_rounds_phenomenological}.
|
||||
For each additional error location, we extend $\bm{\Omega}$ by
|
||||
appending the corresponding syndrome vector as a column.
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
\begin{minipage}{0.3\textwidth}
|
||||
\centering
|
||||
\begin{tikzpicture}
|
||||
\node{$%
|
||||
\bm{\Omega} =
|
||||
\begin{pmatrix}
|
||||
1 & 1 & 0 \\
|
||||
0 & 1 & 1 \\
|
||||
1 & 1 & 0 \\
|
||||
0 & 1 & 1 \\
|
||||
1 & 1 & 0 \\
|
||||
0 & 1 & 1
|
||||
\end{pmatrix}%
|
||||
$
|
||||
};
|
||||
|
||||
\draw [
|
||||
line width=1pt,
|
||||
decorate,
|
||||
decoration={brace,mirror,amplitude=3mm,raise=5mm}
|
||||
]
|
||||
(1,0.55) -- (1,1.4)
|
||||
node[midway,right,xshift=10mm]{$\text{SE}_1$};
|
||||
|
||||
\draw [
|
||||
line width=1pt,
|
||||
decorate,
|
||||
decoration={brace,mirror,amplitude=3mm,raise=5mm}
|
||||
]
|
||||
(1,-0.4) -- (1,0.45)
|
||||
node[midway,right,xshift=10mm]{$\text{SE}_2\hspace{2mm},$};
|
||||
|
||||
\draw [
|
||||
line width=1pt,
|
||||
decorate,
|
||||
decoration={brace,mirror,amplitude=3mm,raise=5mm}
|
||||
]
|
||||
(1,-1.38) -- (1,-0.5)
|
||||
node[midway,right,xshift=10mm]{$\text{SE}_3$};
|
||||
\end{tikzpicture}
|
||||
\end{minipage}%
|
||||
\begin{minipage}{0.3\textwidth}
|
||||
\centering
|
||||
\vspace*{-6mm}
|
||||
\begin{gather*}
|
||||
\bm{s} \in \text{span} \mleft\{ \bm{\Omega} \mright\}
|
||||
\end{gather*}
|
||||
\end{minipage}
|
||||
|
||||
\newcommand{\preperr}[1]{
|
||||
\gate[style={fill=blue!20}]{\scriptstyle #1}
|
||||
}
|
||||
|
||||
\vspace*{5mm}
|
||||
|
||||
\begin{quantikz}[
|
||||
row sep=4mm, column sep=4mm,
|
||||
wire types={q,q,q,q,q,n,n,n,n},
|
||||
execute at end picture={
|
||||
\draw [
|
||||
line width=1pt,
|
||||
decorate,
|
||||
decoration={brace,amplitude=3mm,raise=9mm}
|
||||
]
|
||||
(\tikzcdmatrixname-4-19.north east)
|
||||
--
|
||||
(\tikzcdmatrixname-5-19.south east)
|
||||
node[midway,right,xshift=14mm]{$\text{SE}_1$};
|
||||
\draw [
|
||||
line width=1pt,
|
||||
decorate,
|
||||
decoration={brace,amplitude=3mm,raise=9mm}
|
||||
]
|
||||
(\tikzcdmatrixname-6-19.north east)
|
||||
--
|
||||
(\tikzcdmatrixname-7-19.south east)
|
||||
node[midway,right,xshift=14mm]{$\text{SE}_2$};
|
||||
\draw [
|
||||
line width=1pt,
|
||||
decorate,
|
||||
decoration={brace,amplitude=3mm,raise=9mm}
|
||||
]
|
||||
(\tikzcdmatrixname-8-19.north east)
|
||||
--
|
||||
(\tikzcdmatrixname-9-19.south east)
|
||||
node[midway,right,xshift=14mm]{$\text{SE}_3$};
|
||||
}
|
||||
]
|
||||
% tex-fmt: off
|
||||
\lstick[3]{$\ket{\psi}_\text{L}$} & \preperr{E_0} & \ctrl{3} & & & & & & \ctrl{5} & & & & & & \ctrl{7} & & & & & \\
|
||||
& \preperr{E_1} & & \ctrl{2} & \ctrl{3} & & & & & \ctrl{4} & \ctrl{5} & & & & & \ctrl{6} & \ctrl{7} & & & \\
|
||||
& \preperr{E_2} & & & & \ctrl{2} & & & & & & \ctrl{4} & & & & & & \ctrl{6} & & \\
|
||||
\lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & & & & & & & & & & & & & \meter{} & \setwiretype{c} \\
|
||||
\lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & & & & & & & \meter{} & \setwiretype{c} \\
|
||||
& & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \targ{} & & & & & & & & & \meter{} & \setwiretype{c} \\
|
||||
& & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \targ{} & \targ{} & & & & & & & \meter{} & \setwiretype{c} \\
|
||||
& & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \targ{} & \targ{} & & & \meter{} & \setwiretype{c} \\
|
||||
& & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} & & & \targ{} & \targ{} & \meter{} & \setwiretype{c}
|
||||
% tex-fmt: on
|
||||
\end{quantikz}
|
||||
|
||||
\caption{
|
||||
Repeated syndrome extraction circuit for the three-qubit
|
||||
repetition code under bit flip noise.
|
||||
}
|
||||
\label{fig:rep_code_multiple_rounds_bit_flip}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[t]
|
||||
\begin{gather*}
|
||||
\hspace*{-33.3mm}%
|
||||
\begin{array}{c}
|
||||
E_6 \\
|
||||
\downarrow
|
||||
\end{array}
|
||||
\end{gather*}
|
||||
\vspace*{-8mm}
|
||||
\begin{gather*}
|
||||
\bm{\Omega} =
|
||||
\left(
|
||||
\begin{array}{
|
||||
cccccc%
|
||||
>{\columncolor{red!20}}c%
|
||||
cccccccc
|
||||
}
|
||||
1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0
|
||||
& 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0
|
||||
& 0 & 0 & 0 & 0 & 0 \\
|
||||
1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1 & 0
|
||||
& 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 1
|
||||
& 0 & 0 & 0 & 0 & 0 \\
|
||||
1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0 & 0
|
||||
& 1 & 1 & 0 & 1 & 0 \\
|
||||
0 & 1 & 1 & 0 & 0 & 0 & 1 & 1 & 0 & 0
|
||||
& 0 & 1 & 1 & 0 & 1
|
||||
\end{array}
|
||||
\right),
|
||||
\hspace*{7mm}
|
||||
\bm{s} \in \text{span} \mleft\{
|
||||
\bm{\Omega} \mright\}
|
||||
\end{gather*}
|
||||
|
||||
\vspace*{5mm}
|
||||
|
||||
\newcommand{\preperr}[1]{
|
||||
\gate[style={fill=blue!20}]{\scriptstyle #1}
|
||||
}
|
||||
\newcommand{\measerr}{\gate[style={fill=blue!20}]{\phantom{1}}}
|
||||
|
||||
\newcommand{\noise}{
|
||||
\gate[style={noisy}]{\text{\small X}}%
|
||||
\setwiretype{n}%
|
||||
\wire[l][1]{q}
|
||||
}
|
||||
\newcommand{\redwire}[1]{
|
||||
\wire[r][#1][style={draw=red, line width=1.5pt}]{q}
|
||||
}
|
||||
\newcommand{\redtarg}{
|
||||
\targ[style={draw=red}]{}%
|
||||
\setwiretype{n}%
|
||||
\wire[l][1]{q}
|
||||
}
|
||||
\newcommand{\redctrl}[1]{
|
||||
\ctrl[style={draw=red,fill=red,line width=1.5pt}]{#1}
|
||||
}
|
||||
\newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}}
|
||||
|
||||
\tikzset{
|
||||
noisy/.style={
|
||||
starburst,
|
||||
starburst point height=2.5mm,
|
||||
fill=red!25, draw=red!85!black,
|
||||
line width=1.5pt,
|
||||
inner xsep=-2pt, inner ysep=-2pt
|
||||
},
|
||||
}
|
||||
|
||||
\centering
|
||||
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}[row sep=4mm, column sep=3mm, wire types={q,q,q,q,q,n,n,n,n}]
|
||||
\lstick[3]{$\ket{\psi}_\text{L}$} & \preperr{E_0} & \ctrl{3} & & & & \preperr{E_5} & & \ctrl{5} & & & & \preperr{E_{10}} & & \ctrl{7} & & & & & & \\
|
||||
& \preperr{E_1} & & \ctrl{2} & \ctrl{3} & & \noise\redwire{14} & & & \redctrl{4} & \redctrl{5} & & \preperr{E_{11}} & & & \redctrl{6} & \redctrl{7} & & & & \\
|
||||
& \preperr{E_2} & & & & \ctrl{2} & \preperr{E_7} & & & & & \ctrl{4} & \preperr{E_{12}} & & & & & \ctrl{6} & & & \\
|
||||
\lstick{$\ket{0}_{\text{A}_1}$} & & \targ{} & \targ{} & & & & & & & & & & & & & & & \preperr{E_3} & \meter{} & \setwiretype{c} \\
|
||||
\lstick{$\ket{0}_{\text{A}_2}$} & & & & \targ{} & \targ{} & & & & & & & & & & & & & \preperr{E_4} & \meter{} & \setwiretype{c} \\
|
||||
& & & & & & \lstick{$\ket{0}_{\text{A}_3}$} & \setwiretype{q} & \targ{} & \redtarg\redwire{10} & & & & & & & & & \preperr{E_8} & \redmeter\wire[r][1][style={draw=red,double, line width=1.5pt}]{q} & \setwiretype{n} \\
|
||||
& & & & & & \lstick{$\ket{0}_{\text{A}_4}$} & \setwiretype{q} & & & \redtarg\redwire{9} & \targ{} & & & & & & & \preperr{E_9} & \redmeter\wire[r][1][style={draw=red,double, line width=1.5pt}]{q} & \setwiretype{n} \\
|
||||
& & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_5}$} & \setwiretype{q} & \targ{} & \redtarg\redwire{4} & & & \preperr{E_{13}} & \redmeter\wire[r][1][style={draw=red,double, line width=1.5pt}]{q} & \setwiretype{n} \\
|
||||
& & & & & & & & & & & & \lstick{$\ket{0}_{\text{A}_6}$} & \setwiretype{q} & & & \redtarg\redwire{3} & \targ{} & \preperr{E_{14}} & \redmeter\wire[r][1][style={draw=red,double, line width=1.5pt}]{q} & \setwiretype{n}
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
|
||||
\caption{
|
||||
Repeated syndrome extraction circuit for the three-qubit
|
||||
repetition code under phenomenological noise.
|
||||
}
|
||||
\label{fig:rep_code_multiple_rounds_phenomenological}
|
||||
\end{figure}
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Detector Error Matrix}
|
||||
\label{subsec:Detector Error Matrix}
|
||||
|
||||
% Core idea
|
||||
|
||||
% TODO: Make this a proper definition?
|
||||
Instead of using the measurements as parity indicators directly, we
|
||||
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
|
||||
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
|
||||
proof/intuition?)]}
|
||||
|
||||
% 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}.
|
||||
Similar to the way a \ac{pcm} connects bits with parity checks, the
|
||||
detector matrix links measurements and detectors.
|
||||
Each column corresponds to a measurement, while the rows correspond
|
||||
to the detectors.
|
||||
We should note at this point that the combination of measurements
|
||||
into detectors has no bearing on the actual construction of the
|
||||
syndrome extraction circuitry.
|
||||
It is something that happens ``virtually'' after the fact and only
|
||||
affects the decoder.
|
||||
|
||||
% The detector error matrix
|
||||
|
||||
We now know how the errors at different locations in the circuit
|
||||
affect the measurements ($\bm{\Omega}$), and we know how the
|
||||
measurements relate to the detectors ($\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
|
||||
\begin{align*}
|
||||
\bm{H} := \bm{D}\bm{\Omega}
|
||||
.%
|
||||
\end{align*}
|
||||
Note that, in particular when $d=m$, this is equivalent to performing row
|
||||
additions on the matrix $\bm{\Omega}$.
|
||||
|
||||
% How to choose the detectors
|
||||
|
||||
% TODO: Give results from current and previous stage mathematical names
|
||||
We still have a degree of freedom in how we choose the detectors.
|
||||
\ldots
|
||||
There is, however, one way of defining the detectors that will prove useful
|
||||
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}.
|
||||
\red{[Mathematical notation for measurement combination]}
|
||||
|
||||
We again turn our attention to the three-qubit repetition code.
|
||||
In \autoref{fig:rep_code_multiple_rounds_phenomenological} we can see
|
||||
that $E_6$ has occurred and has subsequently tripped the last four measurements.
|
||||
We now take those measurements and combine them according to
|
||||
\red{[Reference mathematical notation above]}.
|
||||
We can see this process graphically in
|
||||
\autoref{fig:detectors_from_measurements_rep_code}
|
||||
To understand why this way of defining the detectors is useful, we
|
||||
note that the error $E_6$ in
|
||||
\autoref{fig:rep_code_multiple_rounds_phenomenological} has not only
|
||||
tripped the measurements in the syndrome extraction round immediately
|
||||
afterwards, but all subsequent ones as well.
|
||||
To only see errors in the rounds immediately following them, we
|
||||
consider our newly defined detectors instead of the measurements,
|
||||
that effectively compute the difference between the measurements.
|
||||
|
||||
Each error can only trip syndrome bits that follow it.
|
||||
We can see this in the triangular structure of $\bm{\Omega}$ in
|
||||
\autoref{fig:rep_code_multiple_rounds_phenomenological}.
|
||||
Combining the measurements into detectors according to
|
||||
\red{[Reference mathematical notation above]}, we are performing row
|
||||
additions in such a way as to clear the bottom left of the matrix.
|
||||
This yields a block-diagonal structure for the detector error matrix
|
||||
$\bm{H}$, as in the example in
|
||||
\autoref{fig:detectors_from_measurements_rep_code}.
|
||||
Note that we exploit the fact that each syndrome measurement round is
|
||||
identical to obtain this structure.
|
||||
|
||||
% TODO: Change notation (\bm{D})
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
\tikzset{
|
||||
gate/.style={
|
||||
draw, %line width=1pt,
|
||||
minimum height=2cm,
|
||||
}
|
||||
}
|
||||
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}[row sep=2mm, column sep=4mm, wire types={q,q,q,n,n,n}]
|
||||
\lstick[3]{$\ket{\psi}_\text{L}$} & \gate[3]{\text{SE}_1} & & \gate[3]{\text{SE}_2} & & \gate[3]{\text{SE}_3} & & \gate[3]{\text{SE}_4} & \\
|
||||
& & & & & & & & & \setwiretype{n} & \ldots \\
|
||||
& \wire[d][3]{c} & & \wire[d][1]{c} & & \wire[d][1]{c} & & \wire[d][1]{c} & \\
|
||||
& \ctrl[wire=c]{0}\wire[r][1]{c} & \wire[d][1]{c} & \ctrl[vertical wire=c]{1}\wire[r][1]{c} & \wire[d][1]{c} & \ctrl[vertical wire=c]{1}\wire[r][1]{c} & \wire[d][1]{c} & \ctrl[vertical wire=c]{1}\wire[r][1]{c} & \\
|
||||
& & \wire[r][1]{c} & \targ{}\wire[d][1]{c} & \wire[r][1]{c} & \targ{}\wire[d][1]{c} & \wire[r][1]{c} & \targ{}\wire[d][1]{c} & \\
|
||||
& \gate[1]{\bm{D}_1} & & \gate[1]{\bm{D}_2} & & \gate[1]{\bm{D}_3} & & \gate[1]{\bm{D}_4} & \\
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
|
||||
\caption{Construction of detectors from measurements in the general case.}
|
||||
\label{fig:detectors_from_measurements_general}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[t]
|
||||
\centering
|
||||
|
||||
\hspace*{-5mm}
|
||||
\begin{minipage}{0.42\textwidth}
|
||||
\newcommand{\redwire}[1]{
|
||||
\wire[r][#1][style={draw=red, line width=1.5pt, double}]{q}
|
||||
}
|
||||
\newcommand{\inwire}{
|
||||
\wire[l][1][style={draw=red, line width=1.5pt}]{q}
|
||||
}
|
||||
\newcommand{\redtarg}{
|
||||
\targ[style={draw=red,line width=1.5pt}]{}%
|
||||
\setwiretype{n}%
|
||||
}
|
||||
\newcommand{\redctrl}[1]{
|
||||
\ctrl[style={draw=red,fill=red, line width=1.5pt}]{0}%
|
||||
\wire[d][#1][style={draw=red, line width=1.5pt, double}]{q}
|
||||
}
|
||||
\newcommand{\redmeter}{\meter[style={draw=red,fill=red!20}]{}}
|
||||
\newcommand{\redgate}[1]{\gate[style={draw=red,fill=red!20}]{\textcolor{red}{#1}}}
|
||||
|
||||
% tex-fmt: off
|
||||
\begin{quantikz}[row sep=4mm, column sep=3mm, wire types={n,n,n,n,n,n}]
|
||||
& \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & & & \ctrl[vertical wire=c]{2} & & \gate{D_1} \\
|
||||
& \meter{}\wire[l][1]{q}\wire[r][1]{c} & \setwiretype{c} & & & & \ctrl[vertical wire=c]{2} & \gate{D_2} \\
|
||||
& \redmeter{}\inwire\redwire{6} & & \redctrl{2} & & \targ{} & & \redgate{D_3} \\
|
||||
& \redmeter{}\inwire\redwire{6} & & & \redctrl{2} & & \targ{} & \redgate{D_4} \\
|
||||
& \redmeter{}\inwire\redwire{2} & & \redtarg\wire[r][4]{c} & & & & \gate{D_5} \\
|
||||
& \redmeter{}\inwire\redwire{3} & & & \redtarg\wire[r][3]{c} & & & \gate{D_6}
|
||||
\end{quantikz}
|
||||
% tex-fmt: on
|
||||
\end{minipage}%
|
||||
\begin{minipage}{0.56\textwidth}
|
||||
\newcommand\cc{\cellcolor{orange!20}}
|
||||
|
||||
\begin{align*}
|
||||
\bm{H} =
|
||||
% tex-fmt: off
|
||||
\left(\begin{array}{ccccccccccccccc}
|
||||
1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
\cc{0} & \cc{0} & \cc{0} & \cc{1} & \cc{0} & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
|
||||
\cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{1} & 0 & 1 & 1 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\
|
||||
\cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{1} & \cc{0} & 1 & 1 & 0 & 1 & 0 \\
|
||||
\cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{0} & \cc{1} & 0 & 1 & 1 & 0 & 1
|
||||
\end{array}\right)
|
||||
% tex-fmt: on
|
||||
\end{align*}
|
||||
\end{minipage}
|
||||
|
||||
\caption{Construction of detectors from the measurements of a
|
||||
three-qubit repetition code.}
|
||||
\label{fig:detectors_from_measurements_rep_code}
|
||||
\end{figure}
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Detector Error Models}
|
||||
\label{subsec:Detector Error Models}
|
||||
|
||||
\content{Combination of detector error matrix and noise model}
|
||||
\content{Contains all information necessary for decoding
|
||||
\cite[Intro.]{derks_designing_2025}}
|
||||
\content{Not only useful for decoding, but also for ... (Derks et al.)}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Practical Considerations}
|
||||
\label{sec:Practical Considerations}
|
||||
|
||||
% Intro
|
||||
|
||||
\content{Intro}
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Practical Methodology}
|
||||
\label{subsec:Practical Methodology}
|
||||
|
||||
\indent\red{[(?) Figure from presentation, showing where the LER
|
||||
calculation takes place]} \\
|
||||
\content{Per-round-LER explanation}
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Stim}
|
||||
\label{subsec:Stim}
|
||||
|
||||
\content{Circuit code heavily depends on the exact circuit construction}
|
||||
\content{Not easy to predict how errors at different locations
|
||||
propagate through the circuit an what detectors they affect}
|
||||
|
||||
\content{Stim is a software package that generates DEMs from circuits}
|
||||
\content{The user still has to define the circuit themselves, and
|
||||
especially the detectors \cite[Sec~2.5]{derks_designing_2025}}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
2
src/thesis/clean_bibliography.sh
Executable file
2
src/thesis/clean_bibliography.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
sed -i "s/Świerkowska/{\\\\'S}wierkowska/" bibliography.bib
|
||||
sed -Ezi "s/\s(abstract|note|urldate|url|keywords|file) = \{[^}]*(\{[^}]*\}[^}]*)*\},?\n//g" bibliography.bib
|
||||
170
src/thesis/copy_sim_results.sh
Executable file
170
src/thesis/copy_sim_results.sh
Executable file
@@ -0,0 +1,170 @@
|
||||
#!/bin/bash
|
||||
|
||||
BASE_PATH="/home/andreas/workspace/private/ma-sw-results/outputs/"
|
||||
|
||||
# Copy BP param exploration results
|
||||
|
||||
function post_process_LERs() {
|
||||
local filename="$1"
|
||||
|
||||
python3 -c "
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
|
||||
df = pd.read_csv('${filename}')
|
||||
df['LER_per_round'] = 1 - (1 - df['LER'])**(1/12)
|
||||
df['num_errors'] = df['num_trials'] * df['LER']
|
||||
df.to_csv('${filename}', index=False)
|
||||
"
|
||||
}
|
||||
|
||||
i=1
|
||||
sp="/-\|"
|
||||
|
||||
# echo "Copying BP param exploration results..."
|
||||
# echo -n ' '
|
||||
# for decoder in "WindowingSyndromeMinSumDecoder" "WindowingSyndromeSpaDecoder"; do
|
||||
# for max_iter in 32 200 5000; do
|
||||
# for pass_soft_info in "True" "False"; do
|
||||
# for F in 1 2 3; do
|
||||
# for W in 3 4 5; do
|
||||
# SRC_PATH="${BASE_PATH}+rust_exp=soft_v_hard_bp,decoder.class_name=${decoder},decoder.max_iter=${max_iter},decoder.pass_soft_info=${pass_soft_info},system.F=${F},system.W=${W}/"
|
||||
# LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
||||
# SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
||||
# DEST_DIR="res/sim/WF/${decoder}/max_iter_${max_iter}/pass_soft_info_${pass_soft_info}/F_${F}/W_${W}/"
|
||||
# mkdir -p ${DEST_DIR}
|
||||
# DEST_FILE="${DEST_DIR}/LERs.csv"
|
||||
# cp ${SRC_FILE} ${DEST_FILE}
|
||||
# post_process_LERs ${DEST_FILE}
|
||||
# printf "\b${sp:i++%${#sp}:1}"
|
||||
# done
|
||||
# done
|
||||
# done
|
||||
# done
|
||||
# done
|
||||
#
|
||||
# # Copy BPGD param exploration results
|
||||
#
|
||||
# echo -e "\rCopying BPGD param exploration results..."
|
||||
# echo -n ' '
|
||||
# for max_iter in 32 200 5000; do
|
||||
# for pass_soft_info in "True" "False"; do
|
||||
# for F in 1 2 3; do
|
||||
# for W in 3 4 5; do
|
||||
# SRC_PATH="${BASE_PATH}/+rust_exp=soft_v_hard_bpgd,decoder.class_name=WindowingSyndromeSpaGdDecoder,decoder.max_iter=${max_iter},decoder.pass_soft_info=${pass_soft_info},system.F=${F},system.W=${W}/"
|
||||
# LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
||||
# SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
||||
# DEST_DIR="res/sim/WF/WindowingSyndromeSpaGdDecoder/max_iter_${max_iter}/pass_soft_info_${pass_soft_info}/F_${F}/W_${W}/"
|
||||
# mkdir -p ${DEST_DIR}
|
||||
# DEST_FILE="${DEST_DIR}/LERs.csv"
|
||||
# cp ${SRC_FILE} ${DEST_FILE}
|
||||
# post_process_LERs ${DEST_FILE}
|
||||
# printf "\b${sp:i++%${#sp}:1}"
|
||||
# done
|
||||
# done
|
||||
# done
|
||||
# done
|
||||
#
|
||||
# # Copy BP over max iter. results
|
||||
#
|
||||
# echo -e "\rCopying BP over max. iter. results..."
|
||||
# echo -n ' '
|
||||
# for decoder in "WindowingSyndromeMinSumDecoder" "WindowingSyndromeSpaDecoder"; do
|
||||
# for p in 0.001 0.0025 0.004; do
|
||||
# for pass_soft_info in "True" "False"; do
|
||||
# for F in 1 2 3; do
|
||||
# for W in 3 4 5; do
|
||||
# SRC_PATH="${BASE_PATH}+rust_exp=max_iter_bp,decoder.class_name=${decoder},decoder.pass_soft_info=${pass_soft_info},simulation.phy_err_rate=${p},system.F=${F},system.W=${W}/"
|
||||
# LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
||||
# SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
||||
# DEST_DIR="res/sim/max_iter/${decoder}/p_${p}/pass_soft_info_${pass_soft_info}/F_${F}/W_${W}"
|
||||
# mkdir -p ${DEST_DIR}
|
||||
# DEST_FILE="${DEST_DIR}/LERs.csv"
|
||||
# cp ${SRC_FILE} ${DEST_FILE}
|
||||
# post_process_LERs ${DEST_FILE}
|
||||
# printf "\b${sp:i++%${#sp}:1}"
|
||||
# done
|
||||
# done
|
||||
# done
|
||||
# done
|
||||
# done
|
||||
#
|
||||
# # Copy BPGD over max iter. results
|
||||
#
|
||||
# echo -e "\rCopying BPGD over max. iter. results..."
|
||||
# echo -n ' '
|
||||
# for p in 0.001 0.0025 0.004; do
|
||||
# for pass_soft_info in "True" "False"; do
|
||||
# for F in 1 2 3; do
|
||||
# for W in 3 4 5; do
|
||||
# SRC_PATH="${BASE_PATH}+rust_exp=max_iter_bpgd,decoder.class_name=WindowingSyndromeSpaGdDecoder,decoder.pass_soft_info=${pass_soft_info},simulation.phy_err_rate=${p},system.F=${F},system.W=${W}/"
|
||||
# LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
||||
# SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
||||
# DEST_DIR="res/sim/max_iter/WindowingSyndromeSpaGdDecoder/p_${p}/pass_soft_info_${pass_soft_info}/F_${F}/W_${W}"
|
||||
# mkdir -p ${DEST_DIR}
|
||||
# DEST_FILE="${DEST_DIR}/LERs.csv"
|
||||
# cp ${SRC_FILE} ${DEST_FILE}
|
||||
# post_process_LERs ${DEST_FILE}
|
||||
# printf "\b${sp:i++%${#sp}:1}"
|
||||
# done
|
||||
# done
|
||||
# done
|
||||
# done
|
||||
#
|
||||
# # Copy BP over max iter. results
|
||||
#
|
||||
# echo -e "\rCopying one-shot simulation results..."
|
||||
# echo -n ' '
|
||||
# for decoder in "SyndromeMinSumDecoder" "SyndromeSpaDecoder" "SyndromeSpaGdDecoder"; do
|
||||
# for max_iter in 32 200 5000; do
|
||||
# SRC_PATH="${BASE_PATH}+rust_exp=whole_bp_bpgd,decoder.class_name=${decoder},decoder.max_iter=${max_iter},system.F=1,system.W=5/"
|
||||
# LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
||||
# SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
||||
# DEST_DIR="res/sim/one-shot/${decoder}/max_iter_${max_iter}/"
|
||||
# mkdir -p ${DEST_DIR}
|
||||
# DEST_FILE="${DEST_DIR}/LERs.csv"
|
||||
# cp ${SRC_FILE} ${DEST_FILE}
|
||||
# post_process_LERs ${DEST_FILE}
|
||||
# printf "\b${sp:i++%${#sp}:1}"
|
||||
# done
|
||||
# done
|
||||
|
||||
# # Copy BPGD decimation passing
|
||||
#
|
||||
# echo -e "\rCopying BPGD param exploration results..."
|
||||
# echo -n ' '
|
||||
# for max_iter in 32 200 5000; do
|
||||
# for F in 1 2 3; do
|
||||
# for W in 3 4 5; do
|
||||
# SRC_PATH="${BASE_PATH}+rust_exp=soft_v_hard_bpgd_pass_channel,decoder.class_name=WindowingSyndromeSpaGdDecoder,decoder.max_iter=${max_iter},decoder.pass_soft_info=True,system.F=${F},system.W=${W}"
|
||||
# LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
||||
# SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
||||
# DEST_DIR="res/sim/WF/WindowingSyndromeSpaGdDecoderPassDecimation/max_iter_${max_iter}/pass_soft_info_True/F_${F}/W_${W}/"
|
||||
# mkdir -p ${DEST_DIR}
|
||||
# DEST_FILE="${DEST_DIR}/LERs.csv"
|
||||
# cp ${SRC_FILE} ${DEST_FILE}
|
||||
# post_process_LERs ${DEST_FILE}
|
||||
# printf "\b${sp:i++%${#sp}:1}"
|
||||
# done
|
||||
# done
|
||||
# done
|
||||
|
||||
# Copy BPGD with decimation info passing over max iter. results
|
||||
|
||||
echo -e "\rCopying BPGD over max. iter. results..."
|
||||
echo -n ' '
|
||||
for pass_soft_info in "True" "False"; do
|
||||
for F in 1 2 3; do
|
||||
for W in 3 4 5; do
|
||||
SRC_PATH="${BASE_PATH}+rust_exp=max_iter_bpgd_pass_channel,decoder.class_name=WindowingSyndromeSpaGdDecoder,decoder.pass_soft_info=${pass_soft_info},simulation.phy_err_rate=0.0025,system.F=${F},system.W=${W}/"
|
||||
LATEST_RESULTS_DIR=$(ls -t ${SRC_PATH} | head -1)
|
||||
SRC_FILE="${SRC_PATH}/${LATEST_RESULTS_DIR}/LERs.csv"
|
||||
DEST_DIR="res/sim/max_iter/WindowingSyndromeSpaGdDecoderPassDecimation/p_0.0025/pass_soft_info_${pass_soft_info}/F_${F}/W_${W}"
|
||||
mkdir -p ${DEST_DIR}
|
||||
DEST_FILE="${DEST_DIR}/LERs.csv"
|
||||
cp ${SRC_FILE} ${DEST_FILE}
|
||||
post_process_LERs ${DEST_FILE}
|
||||
printf "\b${sp:i++%${#sp}:1}"
|
||||
done
|
||||
done
|
||||
done
|
||||
@@ -6,27 +6,37 @@
|
||||
\usepackage{amsfonts}
|
||||
\usepackage{mleftright}
|
||||
\usepackage{bm}
|
||||
\usepackage{bbm}
|
||||
\usepackage{tikz}
|
||||
\usepackage{xcolor}
|
||||
\usepackage{pgfplots}
|
||||
\pgfplotsset{compat=newest}
|
||||
\usepackage{acro}
|
||||
\usepackage{braket}
|
||||
\usepackage{listings}
|
||||
\usepackage{caption}
|
||||
% \usepackage[
|
||||
% backend=biber,
|
||||
% style=ieee,
|
||||
% sorting=nty,
|
||||
% ]{biblatex}
|
||||
\usepackage{todonotes}
|
||||
% \usepackage{todonotes}
|
||||
\usepackage{quantikz}
|
||||
\usepackage{stmaryrd}
|
||||
\usepackage{algorithm}
|
||||
\usepackage[noEnd=false]{algpseudocodex}
|
||||
\usepackage{nicematrix}
|
||||
\usepackage{colortbl}
|
||||
|
||||
\usetikzlibrary{calc, positioning, arrows, fit}
|
||||
|
||||
\usetikzlibrary{external}
|
||||
\tikzexternalize
|
||||
|
||||
\makeatletter
|
||||
\renewcommand{\todo}[2][]{\tikzexternaldisable\@todo[#1]{#2}\tikzexternalenable}
|
||||
\makeatother
|
||||
% \makeatletter
|
||||
% \renewcommand{\todo}[2][]{\tikzexternaldisable\@todo[#1]{#2}\tikzexternalenable}
|
||||
% \makeatother
|
||||
|
||||
\setcounter{MaxMatrixCols}{20}
|
||||
|
||||
%
|
||||
%
|
||||
@@ -35,6 +45,8 @@
|
||||
%
|
||||
|
||||
\newcommand{\red}[1]{\textcolor{red}{#1}}
|
||||
\newcommand{\content}[1]{\noindent\indent\red{[#1]}\\}
|
||||
|
||||
\newcommand{\figwidth}{10cm}
|
||||
\newcommand{\figheight}{7.5cm}
|
||||
|
||||
|
||||
BIN
src/thesis/res/72_bb_dem.pdf
Normal file
BIN
src/thesis/res/72_bb_dem.pdf
Normal file
Binary file not shown.
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,12000,0.01675,0.0014066653566989773,201.0
|
||||
0.0015,6000,0.048,0.004090796817048492,288.0
|
||||
0.002,2000,0.124,0.010971798240880681,248.0
|
||||
0.0025,2000,0.258,0.024560528611376475,516.0
|
||||
0.003,2000,0.441,0.04731136584915907,882.0
|
||||
0.0035,2000,0.6485,0.08344096230884013,1297.0
|
||||
0.004,2000,0.8085,0.1286738833656923,1617.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,50000,0.004,0.0003339460107422143,200.0
|
||||
0.0015,14000,0.016,0.0013432122426282334,224.0
|
||||
0.002,6000,0.0538333333333333,0.004600762670813663,322.99999999999983
|
||||
0.0025,2000,0.1515,0.01359714508496701,303.0
|
||||
0.003,2000,0.29,0.028137416075114108,580.0
|
||||
0.0035,2000,0.485,0.05379783863208576,970.0
|
||||
0.004,2000,0.657,0.08530878077130555,1314.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,74000,0.0027837837837837,0.000232278495492233,205.9999999999938
|
||||
0.0015,20000,0.01065,0.0008918618165982828,213.0
|
||||
0.002,6000,0.0386666666666666,0.003280778882142177,231.9999999999996
|
||||
0.0025,2000,0.1005,0.008787514236290539,201.0
|
||||
0.003,2000,0.2145,0.019918520513549032,429.0
|
||||
0.0035,2000,0.3975,0.041343353576980935,795.0
|
||||
0.004,2000,0.5975,0.07303396011007879,1195.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.05975,0.005120966383739489,239.0
|
||||
0.0015,2000,0.12,0.010596241035318976,240.0
|
||||
0.002,2000,0.2925,0.02842304828215303,585.0
|
||||
0.0025,2000,0.457,0.049614097064849094,914.0
|
||||
0.003,2000,0.6565,0.08519774084658893,1313.0
|
||||
0.0035,2000,0.807,0.12810716433630664,1614.0
|
||||
0.004,2000,0.927,0.19596138832598886,1854.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,30000,0.0074,0.0006187681363896136,222.0
|
||||
0.0015,8000,0.027375,0.002310383366790014,219.0
|
||||
0.002,4000,0.081,0.007014379974311313,324.0
|
||||
0.0025,2000,0.1935,0.01776132322220747,387.0
|
||||
0.003,2000,0.3505,0.03532372820929974,701.0
|
||||
0.0035,2000,0.549,0.06420358199217457,1098.0
|
||||
0.004,2000,0.736,0.10504679589131227,1472.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,56000,0.0035892857142857,0.0002996003321397156,200.99999999999918
|
||||
0.0015,16000,0.0141875,0.001190050056010028,227.0
|
||||
0.002,6000,0.0458333333333333,0.003902110220303623,274.99999999999983
|
||||
0.0025,2000,0.127,0.011254499159800035,254.0
|
||||
0.003,2000,0.255,0.024232483954962025,510.0
|
||||
0.0035,2000,0.455,0.049322879977013234,910.0
|
||||
0.004,2000,0.629,0.07930773938046853,1258.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.632,0.07993046327730713,1264.0
|
||||
0.0015,2000,0.7685,0.11479080536457342,1537.0
|
||||
0.002,2000,0.8905,0.16832973055592892,1781.0
|
||||
0.0025,2000,0.9405,0.2095463416012857,1881.0
|
||||
0.003,2000,0.9765,0.26843039175484296,1953.0
|
||||
0.0035,2000,0.993,0.33865993052589327,1986.0
|
||||
0.004,2000,0.995,0.3569459165824279,1990.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.0361666666666666,0.003065034000747535,216.99999999999957
|
||||
0.0015,4000,0.08675,0.007533613442062825,347.0
|
||||
0.002,2000,0.183,0.01670196477645869,366.0
|
||||
0.0025,2000,0.3605,0.036570265848455796,721.0
|
||||
0.003,2000,0.5385,0.062407102537387016,1077.0
|
||||
0.0035,2000,0.7385,0.10575612450061989,1477.0
|
||||
0.004,2000,0.8635,0.15291357705621333,1727.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,32000,0.0065,0.0005432871152698526,208.0
|
||||
0.0015,10000,0.0211,0.0017755706988360487,211.0
|
||||
0.002,4000,0.067,0.005762505879780444,268.0
|
||||
0.0025,2000,0.1555,0.013985493383097625,311.0
|
||||
0.003,2000,0.2855,0.02762559348483462,571.0
|
||||
0.0035,2000,0.4885,0.05433539011619826,977.0
|
||||
0.004,2000,0.678,0.09011189125403751,1356.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,16000,0.01375,0.0011531185491073792,220.0
|
||||
0.0015,6000,0.0416666666666666,0.0035403526553423603,249.9999999999996
|
||||
0.002,2000,0.11,0.009664150391878956,220.0
|
||||
0.0025,2000,0.2535,0.024068915462335805,507.0
|
||||
0.003,2000,0.4185,0.04417333224775788,837.0
|
||||
0.0035,2000,0.62,0.0774668808446417,1240.0
|
||||
0.004,2000,0.792,0.12265189055421477,1584.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,62000,0.0032903225806451,0.0002746079212814223,203.99999999999622
|
||||
0.0015,16000,0.0134375,0.0011267480946226538,215.0
|
||||
0.002,6000,0.0453333333333333,0.0038586229394146354,271.99999999999983
|
||||
0.0025,2000,0.1265,0.011207320558933254,253.0
|
||||
0.003,2000,0.252,0.02390564797425576,504.0
|
||||
0.0035,2000,0.453,0.04903264087587211,906.0
|
||||
0.004,2000,0.6265,0.07879231884746019,1253.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,100000,0.00162,0.00013510034136854365,162.0
|
||||
0.0015,26000,0.0079615384615384,0.00066589492156377,206.9999999999984
|
||||
0.002,8000,0.027,0.0022783337152086913,216.0
|
||||
0.0025,4000,0.0855,0.0074204821894011674,342.0
|
||||
0.003,2000,0.1795,0.016351617556473186,359.0
|
||||
0.0035,2000,0.345,0.034645612003118,690.0
|
||||
0.004,2000,0.5415,0.06291652725715624,1083.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.057,0.004878809452940613,228.0
|
||||
0.0015,2000,0.1345,0.011965166585961362,269.0
|
||||
0.002,2000,0.2835,0.02739906464725228,567.0
|
||||
0.0025,2000,0.4645,0.050714990274915994,929.0
|
||||
0.003,2000,0.649,0.08354968174320077,1298.0
|
||||
0.0035,2000,0.799,0.125151191269673,1598.0
|
||||
0.004,2000,0.923,0.19237907929568254,1846.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,28000,0.0072857142857142,0.0006091797682086231,203.9999999999976
|
||||
0.0015,8000,0.026875,0.0022676530141574336,215.0
|
||||
0.002,4000,0.07125,0.006140708552619056,285.0
|
||||
0.0025,2000,0.181,0.016501598292156028,362.0
|
||||
0.003,2000,0.343,0.0344003178522726,686.0
|
||||
0.0035,2000,0.539,0.06249179545899253,1078.0
|
||||
0.004,2000,0.734,0.10448375252924946,1468.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,66000,0.0031060606060606,0.0002592076019299894,204.9999999999996
|
||||
0.0015,16000,0.0130625,0.0010951136545078732,209.0
|
||||
0.002,6000,0.0398333333333333,0.003381635886214096,238.99999999999977
|
||||
0.0025,2000,0.108,0.009478884979367552,216.0
|
||||
0.003,2000,0.241,0.022717441549556572,482.0
|
||||
0.0035,2000,0.427,0.04534551221126004,854.0
|
||||
0.004,2000,0.616,0.07666151943586219,1232.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.632,0.07993046327730713,1264.0
|
||||
0.0015,2000,0.7685,0.11479080536457342,1537.0
|
||||
0.002,2000,0.8905,0.16832973055592892,1781.0
|
||||
0.0025,2000,0.9405,0.2095463416012857,1881.0
|
||||
0.003,2000,0.9765,0.26843039175484296,1953.0
|
||||
0.0035,2000,0.993,0.33865993052589327,1986.0
|
||||
0.004,2000,0.995,0.3569459165824279,1990.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.0343333333333333,0.0029071468641445053,205.9999999999998
|
||||
0.0015,4000,0.09775,0.008535335041573222,391.0
|
||||
0.002,2000,0.2005,0.018474608554528427,401.0
|
||||
0.0025,2000,0.347,0.03489159369123396,694.0
|
||||
0.003,2000,0.559,0.06595052116772404,1118.0
|
||||
0.0035,2000,0.735,0.1047647873005133,1470.0
|
||||
0.004,2000,0.867,0.15474521742325598,1734.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,34000,0.0061176470588235,0.0005112389838239917,207.999999999999
|
||||
0.0015,12000,0.0199166666666666,0.0016750685805796417,238.9999999999992
|
||||
0.002,4000,0.05925,0.005076889602981138,237.0
|
||||
0.0025,2000,0.1465,0.013114062821618089,293.0
|
||||
0.003,2000,0.297,0.028939525764745788,594.0
|
||||
0.0035,2000,0.4765,0.05250617012872005,953.0
|
||||
0.004,2000,0.664,0.08687912132657749,1328.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.08375,0.0072623363421430165,335.0
|
||||
0.0015,2000,0.17,0.015407535303274322,340.0
|
||||
0.002,2000,0.333,0.03318402118027908,666.0
|
||||
0.0025,2000,0.5225,0.05974038898813494,1045.0
|
||||
0.003,2000,0.7125,0.09866447739264284,1425.0
|
||||
0.0035,2000,0.8475,0.14505307692276814,1695.0
|
||||
0.004,2000,0.936,0.20472927123294937,1872.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.05375,0.00459345717599724,215.0
|
||||
0.0015,2000,0.137,0.012203310556051061,274.0
|
||||
0.002,2000,0.248,0.023471730814805247,496.0
|
||||
0.0025,2000,0.424,0.044929992453897394,848.0
|
||||
0.003,2000,0.6005,0.07361169169753423,1201.0
|
||||
0.0035,2000,0.7845,0.12005821823758633,1569.0
|
||||
0.004,2000,0.9005,0.1749405238157723,1801.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.0555,0.004746996564855888,222.0
|
||||
0.0015,2000,0.122,0.010783823589648356,244.0
|
||||
0.002,2000,0.228,0.02133338177466315,456.0
|
||||
0.0025,2000,0.3975,0.041343353576980935,795.0
|
||||
0.003,2000,0.577,0.06918859214518802,1154.0
|
||||
0.0035,2000,0.7605,0.11228111333332969,1521.0
|
||||
0.004,2000,0.8835,0.16402396604923497,1767.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.1275,0.011301702536387737,255.0
|
||||
0.0015,2000,0.2445,0.023093785381261167,489.0
|
||||
0.002,2000,0.471,0.05168059078836085,942.0
|
||||
0.0025,2000,0.6925,0.09359889423026135,1385.0
|
||||
0.003,2000,0.83,0.13727825732341103,1660.0
|
||||
0.0035,2000,0.927,0.19596138832598886,1854.0
|
||||
0.004,2000,0.9745,0.2634339765587691,1949.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.05525,0.004725046408614819,221.0
|
||||
0.0015,2000,0.133,0.011822582694107964,266.0
|
||||
0.002,2000,0.2755,0.026498707449347236,551.0
|
||||
0.0025,2000,0.462,0.050346464045528894,924.0
|
||||
0.003,2000,0.641,0.08182695829978004,1282.0
|
||||
0.0035,2000,0.8035,0.12680036354194668,1607.0
|
||||
0.004,2000,0.9095,0.18143334698302127,1819.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.048,0.004090796817048492,288.0
|
||||
0.0015,2000,0.115,0.010128988904076097,230.0
|
||||
0.002,2000,0.2155,0.02002255762528382,431.0
|
||||
0.0025,2000,0.402,0.04194208019539358,804.0
|
||||
0.003,2000,0.577,0.06918859214518802,1154.0
|
||||
0.0035,2000,0.764,0.11336949998487811,1528.0
|
||||
0.004,2000,0.897,0.17256014533992214,1794.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.6955,0.09433912151694923,1391.0
|
||||
0.0015,2000,0.816,0.13156999840650407,1632.0
|
||||
0.002,2000,0.9215,0.19107956872744314,1843.0
|
||||
0.0025,2000,0.9595,0.2344834483240309,1919.0
|
||||
0.003,2000,0.9895,0.31593226271987895,1979.0
|
||||
0.0035,2000,0.997,0.3837454986270925,1994.0
|
||||
0.004,2000,0.999,0.4376586748096508,1998.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.09425,0.0082153967557419,377.0
|
||||
0.0015,2000,0.206,0.019039074473767514,412.0
|
||||
0.002,2000,0.371,0.03789851025936897,742.0
|
||||
0.0025,2000,0.5865,0.07094884804525436,1173.0
|
||||
0.003,2000,0.7685,0.11479080536457342,1537.0
|
||||
0.0035,2000,0.8965,0.17222616291377513,1793.0
|
||||
0.004,2000,0.9575,0.2314023053376273,1915.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.0488333333333333,0.004163473418041463,292.9999999999998
|
||||
0.0015,2000,0.1225,0.01083078042647323,245.0
|
||||
0.002,2000,0.2435,0.022986095764761516,487.0
|
||||
0.0025,2000,0.4055,0.042410618607193085,811.0
|
||||
0.003,2000,0.5965,0.07284225986971693,1193.0
|
||||
0.0035,2000,0.7945,0.12353552306518623,1589.0
|
||||
0.004,2000,0.9,0.1745958147319816,1800.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,8000,0.033,0.0027924923467828044,264.0
|
||||
0.0015,4000,0.0885,0.0076922358935922475,354.0
|
||||
0.002,2000,0.189,0.01730577346851303,378.0
|
||||
0.0025,2000,0.386,0.039831698576282215,772.0
|
||||
0.003,2000,0.5745,0.06873139184884758,1149.0
|
||||
0.0035,2000,0.7675,0.11447278468704636,1535.0
|
||||
0.004,2000,0.8925,0.16960631326972486,1785.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,16000,0.013375,0.0011214749225721965,214.0
|
||||
0.0015,6000,0.0436666666666666,0.0037138159693325123,261.9999999999996
|
||||
0.002,2000,0.1125,0.009896269575755956,225.0
|
||||
0.0025,2000,0.2375,0.022342685193895928,475.0
|
||||
0.003,2000,0.4105,0.04308436449639608,821.0
|
||||
0.0035,2000,0.621,0.07766943516436708,1242.0
|
||||
0.004,2000,0.799,0.125151191269673,1598.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,20000,0.01,0.0008371773591205889,200.0
|
||||
0.0015,8000,0.02975,0.002513627927773654,238.0
|
||||
0.002,4000,0.08025,0.0069468735550100025,321.0
|
||||
0.0025,2000,0.2055,0.018987611527110704,411.0
|
||||
0.003,2000,0.3465,0.03483003359216841,693.0
|
||||
0.0035,2000,0.556,0.06542265847616091,1112.0
|
||||
0.004,2000,0.738,0.1056137629395989,1476.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.102,0.008925364554660087,408.0
|
||||
0.0015,2000,0.234,0.02196950237720341,468.0
|
||||
0.002,2000,0.433,0.04618256897389805,866.0
|
||||
0.0025,2000,0.6455,0.08279160735454238,1291.0
|
||||
0.003,2000,0.82,0.13315913781420163,1640.0
|
||||
0.0035,2000,0.922,0.19151019058730434,1844.0
|
||||
0.004,2000,0.9805,0.2797174651647023,1961.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.0355,0.0030075886692517706,212.99999999999997
|
||||
0.0015,4000,0.0835,0.007239766684647431,334.0
|
||||
0.002,2000,0.2025,0.018679455867679495,405.0
|
||||
0.0025,2000,0.3635,0.036947712076332184,727.0
|
||||
0.003,2000,0.5605,0.06621568805942701,1121.0
|
||||
0.0035,2000,0.749,0.10880485867108969,1498.0
|
||||
0.004,2000,0.8895,0.1676994342621433,1779.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,12000,0.0174166666666666,0.0014631053822830031,208.9999999999992
|
||||
0.0015,4000,0.051,0.004352706093600722,204.0
|
||||
0.002,2000,0.1315,0.011680224751058454,263.0
|
||||
0.0025,2000,0.281,0.02711671729858034,562.0
|
||||
0.003,2000,0.46,0.050052771570453625,920.0
|
||||
0.0035,2000,0.662,0.08642741539493726,1324.0
|
||||
0.004,2000,0.8145,0.13098222531638515,1629.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.6955,0.09433912151694923,1391.0
|
||||
0.0015,2000,0.816,0.13156999840650407,1632.0
|
||||
0.002,2000,0.9215,0.19107956872744314,1843.0
|
||||
0.0025,2000,0.9595,0.2344834483240309,1919.0
|
||||
0.003,2000,0.9895,0.31593226271987895,1979.0
|
||||
0.0035,2000,0.997,0.3837454986270925,1994.0
|
||||
0.004,2000,0.999,0.4376586748096508,1998.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.087,0.0075562567245422985,348.0
|
||||
0.0015,2000,0.2025,0.018679455867679495,405.0
|
||||
0.002,2000,0.3515,0.035447587291447924,703.0
|
||||
0.0025,2000,0.5605,0.06621568805942701,1121.0
|
||||
0.003,2000,0.766,0.11399809680348838,1532.0
|
||||
0.0035,2000,0.896,0.1718936562142762,1792.0
|
||||
0.004,2000,0.9535,0.22561949205779908,1907.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.0341666666666666,0.0028928071163165647,204.9999999999996
|
||||
0.0015,4000,0.0915,0.007964810720254789,366.0
|
||||
0.002,2000,0.202,0.018628199928893086,404.0
|
||||
0.0025,2000,0.3685,0.03758042822058505,737.0
|
||||
0.003,2000,0.562,0.06648168584179992,1124.0
|
||||
0.0035,2000,0.7435,0.10719362881586803,1487.0
|
||||
0.004,2000,0.876,0.15966624844871136,1752.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,24000,0.008875,0.0007426089118820478,212.99999999999997
|
||||
0.0015,8000,0.027375,0.002310383366790014,219.0
|
||||
0.002,4000,0.0805,0.006969370086301163,322.0
|
||||
0.0025,2000,0.1765,0.016052408593168255,353.0
|
||||
0.003,2000,0.321,0.03174633874742727,642.0
|
||||
0.0035,2000,0.5295,0.06089683913260491,1059.0
|
||||
0.004,2000,0.703,0.09621935287123151,1406.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,100000,0.0018,0.00015012389249957625,180.0
|
||||
0.0015,30000,0.0071666666666666,0.000599192960614614,214.999999999998
|
||||
0.002,8000,0.026125,0.0022035952056765895,209.0
|
||||
0.0025,4000,0.08375,0.0072623363421430165,335.0
|
||||
0.003,2000,0.184,0.016802316683105167,368.0
|
||||
0.0035,2000,0.344,0.0345228792367418,688.0
|
||||
0.004,2000,0.5175,0.058923829667395955,1035.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,100000,0.0007,5.83520569852336e-05,70.0
|
||||
0.0015,62000,0.003258064516129,0.0002719116557121648,201.999999999998
|
||||
0.002,16000,0.013,0.0010898423190723872,208.0
|
||||
0.0025,6000,0.0468333333333333,0.0039891474854014675,280.99999999999983
|
||||
0.003,2000,0.1165,0.010268909922777514,233.0
|
||||
0.0035,2000,0.2525,0.023960037096822373,505.0
|
||||
0.004,2000,0.4255,0.04513750370753944,851.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.0453333333333333,0.0038586229394146354,271.99999999999983
|
||||
0.0015,4000,0.09175,0.007987562516493574,367.0
|
||||
0.002,2000,0.199,0.018321281103642173,398.0
|
||||
0.0025,2000,0.362,0.036758785596775034,724.0
|
||||
0.003,2000,0.5155,0.058599376123828484,1031.0
|
||||
0.0035,2000,0.7085,0.09762605599754803,1417.0
|
||||
0.004,2000,0.856,0.149129354542893,1712.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,44000,0.0045454545454545,0.00037957931952325996,199.999999999998
|
||||
0.0015,16000,0.014625,0.001226996590199092,234.0
|
||||
0.002,6000,0.046,0.003916610622698213,276.0
|
||||
0.0025,2000,0.128,0.011348930715916694,256.0
|
||||
0.003,2000,0.239,0.022503101573992157,478.0
|
||||
0.0035,2000,0.4195,0.044310417497246735,839.0
|
||||
0.004,2000,0.5965,0.07284225986971693,1193.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,100000,0.00122,0.00010172355962756452,122.0
|
||||
0.0015,42000,0.0047857142857142,0.0003996869775206857,200.9999999999964
|
||||
0.002,12000,0.0196666666666666,0.001653849971735899,235.9999999999992
|
||||
0.0025,4000,0.066,0.0056737465539274945,264.0
|
||||
0.003,2000,0.1485,0.01330698362831062,297.0
|
||||
0.0035,2000,0.3085,0.03027331056488236,617.0
|
||||
0.004,2000,0.473,0.05197988715416113,946.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.626,0.07868961436921773,1252.0
|
||||
0.0015,2000,0.7655,0.11384048722645845,1531.0
|
||||
0.002,2000,0.8745,0.15882379851291006,1749.0
|
||||
0.0025,2000,0.933,0.20168755384893544,1866.0
|
||||
0.003,2000,0.972,0.2576708709890312,1944.0
|
||||
0.0035,2000,0.985,0.29529459105967726,1970.0
|
||||
0.004,2000,0.994,0.3471010990626149,1988.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,8000,0.026875,0.0022676530141574336,215.0
|
||||
0.0015,4000,0.06075,0.005209184439765924,243.0
|
||||
0.002,2000,0.1275,0.011301702536387737,255.0
|
||||
0.0025,2000,0.2435,0.022986095764761516,487.0
|
||||
0.003,2000,0.4095,0.04294919734292335,819.0
|
||||
0.0035,2000,0.605,0.07448578964497943,1210.0
|
||||
0.004,2000,0.767,0.11431424426031134,1534.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,68000,0.0030882352941176,0.00025771792946360783,209.9999999999968
|
||||
0.0015,22000,0.0100454545454545,0.0008410003766037288,220.999999999999
|
||||
0.002,6000,0.0353333333333333,0.0029932330235841187,211.9999999999998
|
||||
0.0025,4000,0.08725,0.007578905691289939,349.0
|
||||
0.003,2000,0.191,0.017507953228264928,382.0
|
||||
0.0035,2000,0.3535,0.03569583157768186,707.0
|
||||
0.004,2000,0.5215,0.059576452112257594,1043.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,24000,0.00875,0.0007321073812772694,210.00000000000003
|
||||
0.0015,8000,0.025125,0.00211825510203556,201.0
|
||||
0.002,4000,0.0815,0.0070594123157259325,326.0
|
||||
0.0025,2000,0.174,0.015803830077221748,348.0
|
||||
0.003,2000,0.319,0.03150899241712146,638.0
|
||||
0.0035,2000,0.5135,0.05827614798780856,1027.0
|
||||
0.004,2000,0.7075,0.09736849218423416,1415.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,100000,0.00146,0.00012174815796772709,146.0
|
||||
0.0015,32000,0.0064375,0.000538047705478828,206.0
|
||||
0.002,10000,0.0229,0.0019286609080385597,229.0
|
||||
0.0025,4000,0.07525,0.006498116023036737,301.0
|
||||
0.003,2000,0.1585,0.01427786270551501,317.0
|
||||
0.0035,2000,0.3395,0.033972695445756096,679.0
|
||||
0.004,2000,0.4985,0.055890042576412724,997.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,100000,0.0004,3.3339446006586115e-05,40.0
|
||||
0.0015,72000,0.0027916666666666,0.0002329370855657098,200.9999999999952
|
||||
0.002,18000,0.0121666666666666,0.0010195870693898712,218.9999999999988
|
||||
0.0025,6000,0.0435,0.0036993479983105093,261.0
|
||||
0.003,4000,0.097,0.00846668118140581,388.0
|
||||
0.0035,2000,0.2385,0.022449597267178878,477.0
|
||||
0.004,2000,0.4015,0.04187535144908072,803.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.038,0.003223196672329065,228.0
|
||||
0.0015,4000,0.098,0.008558231287084661,392.0
|
||||
0.002,2000,0.206,0.019039074473767514,412.0
|
||||
0.0025,2000,0.3485,0.035076533583668024,697.0
|
||||
0.003,2000,0.5245,0.060069209055131356,1049.0
|
||||
0.0035,2000,0.6985,0.09508606438098832,1397.0
|
||||
0.004,2000,0.8495,0.14599310907967555,1699.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,46000,0.004391304347826,0.0003666806266127143,201.99999999999602
|
||||
0.0015,14000,0.0164285714285714,0.001379465734122176,229.9999999999996
|
||||
0.002,6000,0.0438333333333333,0.003728286251850954,262.99999999999983
|
||||
0.0025,2000,0.118,0.010409048871669824,236.0
|
||||
0.003,2000,0.228,0.02133338177466315,456.0
|
||||
0.0035,2000,0.4185,0.04417333224775788,837.0
|
||||
0.004,2000,0.594,0.07236490793227202,1188.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,100000,0.00095,7.920115808901507e-05,95.0
|
||||
0.0015,42000,0.0050238095238095,0.00041961787574185117,210.999999999999
|
||||
0.002,12000,0.01975,0.0016609222901676768,237.0
|
||||
0.0025,4000,0.062,0.005319578163374583,248.0
|
||||
0.003,2000,0.159,0.014326683792962536,318.0
|
||||
0.0035,2000,0.313,0.030800767790453154,626.0
|
||||
0.004,2000,0.47,0.0515313313739999,940.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.626,0.07868961436921773,1252.0
|
||||
0.0015,2000,0.7655,0.11384048722645845,1531.0
|
||||
0.002,2000,0.8745,0.15882379851291006,1749.0
|
||||
0.0025,2000,0.933,0.20168755384893544,1866.0
|
||||
0.003,2000,0.972,0.2576708709890312,1944.0
|
||||
0.0035,2000,0.985,0.29529459105967726,1970.0
|
||||
0.004,2000,0.994,0.3471010990626149,1988.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,8000,0.026125,0.0022035952056765895,209.0
|
||||
0.0015,4000,0.06075,0.005209184439765924,243.0
|
||||
0.002,2000,0.136,0.012107977177767903,272.0
|
||||
0.0025,2000,0.254,0.02412340479098629,508.0
|
||||
0.003,2000,0.4115,0.043219741997103434,823.0
|
||||
0.0035,2000,0.6,0.07351512752093081,1200.0
|
||||
0.004,2000,0.7645,0.11352619006706066,1529.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,72000,0.0027777777777777,0.00023177671578233916,199.9999999999944
|
||||
0.0015,20000,0.0105,0.0008792394039432994,210.0
|
||||
0.002,8000,0.032125,0.0027173290492218394,257.0
|
||||
0.0025,4000,0.08575,0.007443097095222506,343.0
|
||||
0.003,2000,0.186,0.01700335914772977,372.0
|
||||
0.0035,2000,0.356,0.03600712878727563,712.0
|
||||
0.004,2000,0.529,0.06081371425997428,1058.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.0453333333333333,0.0038586229394146354,271.99999999999983
|
||||
0.0015,2000,0.1245,0.011018853369859305,249.0
|
||||
0.002,2000,0.2185,0.02033539996612399,437.0
|
||||
0.0025,2000,0.3975,0.041343353576980935,795.0
|
||||
0.003,2000,0.5945,0.07246016235632424,1189.0
|
||||
0.0035,2000,0.735,0.1047647873005133,1470.0
|
||||
0.004,2000,0.8745,0.15882379851291006,1749.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,8000,0.030875,0.00261006088942628,247.0
|
||||
0.0015,4000,0.07825,0.006767102824702054,313.0
|
||||
0.002,2000,0.141,0.012585659483247746,282.0
|
||||
0.0025,2000,0.279,0.02689148662280816,558.0
|
||||
0.003,2000,0.4385,0.046957034683799304,877.0
|
||||
0.0035,2000,0.633,0.08013907230132367,1266.0
|
||||
0.004,2000,0.793,0.12300416913096102,1586.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,8000,0.027625,0.0023317560946333193,221.0
|
||||
0.0015,4000,0.06525,0.005607234208600653,261.0
|
||||
0.002,2000,0.122,0.010783823589648356,244.0
|
||||
0.0025,2000,0.2335,0.021916318194268203,467.0
|
||||
0.003,2000,0.385,0.03970147975050575,770.0
|
||||
0.0035,2000,0.569,0.0677341570379616,1138.0
|
||||
0.004,2000,0.729,0.10309294344737896,1458.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.122,0.010783823589648356,244.0
|
||||
0.0015,2000,0.2475,0.02341764001219704,495.0
|
||||
0.002,2000,0.38,0.039053282833609426,760.0
|
||||
0.0025,2000,0.5705,0.06800496801270284,1141.0
|
||||
0.003,2000,0.7255,0.10213330493021633,1451.0
|
||||
0.0035,2000,0.846,0.14435544028130065,1692.0
|
||||
0.004,2000,0.944,0.2135296839449985,1888.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.0375,0.00318003401506195,225.0
|
||||
0.0015,4000,0.08775,0.007624220689530503,351.0
|
||||
0.002,2000,0.169,0.015308735184581312,338.0
|
||||
0.0025,2000,0.3185,0.03144975567894859,637.0
|
||||
0.003,2000,0.4945,0.055264800927331104,989.0
|
||||
0.0035,2000,0.6715,0.08859526368715209,1343.0
|
||||
0.004,2000,0.8295,0.13706709042620446,1659.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,8000,0.029125,0.0024600983395249854,233.0
|
||||
0.0015,4000,0.06525,0.005607234208600653,261.0
|
||||
0.002,2000,0.129,0.011443461592906767,258.0
|
||||
0.0025,2000,0.2545,0.02417792760750781,509.0
|
||||
0.003,2000,0.416,0.043831562260356005,832.0
|
||||
0.0035,2000,0.5905,0.07170112206446477,1181.0
|
||||
0.004,2000,0.763,0.1130570306237979,1526.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.789,0.12160429293407071,1578.0
|
||||
0.0015,2000,0.9,0.1745958147319816,1800.0
|
||||
0.002,2000,0.9465,0.21651717275071503,1893.0
|
||||
0.0025,2000,0.967,0.24743705884517853,1934.0
|
||||
0.003,2000,0.9905,0.32161385879719506,1981.0
|
||||
0.0035,2000,0.9965,0.3757780964762649,1993.0
|
||||
0.004,2000,0.9995,0.4692204681934514,1999.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.09675,0.008443808176524459,387.0
|
||||
0.0015,2000,0.1775,0.01615203373482954,355.0
|
||||
0.002,2000,0.322,0.03186525232867321,644.0
|
||||
0.0025,2000,0.4605,0.050126101092695885,921.0
|
||||
0.003,2000,0.653,0.08442458415488852,1306.0
|
||||
0.0035,2000,0.798,0.12478930891509032,1596.0
|
||||
0.004,2000,0.912,0.18334199643064264,1824.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.0365,0.0030937703263473892,219.0
|
||||
0.0015,4000,0.0795,0.006879417576947544,318.0
|
||||
0.002,2000,0.1575,0.01418030025167627,315.0
|
||||
0.0025,2000,0.29,0.028137416075114108,580.0
|
||||
0.003,2000,0.4455,0.04795283848945675,891.0
|
||||
0.0035,2000,0.6305,0.07961852200020059,1261.0
|
||||
0.004,2000,0.7825,0.11938055324065988,1565.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.0343333333333333,0.0029071468641445053,205.9999999999998
|
||||
0.0015,4000,0.0885,0.0076922358935922475,354.0
|
||||
0.002,2000,0.177,0.0161022072935475,354.0
|
||||
0.0025,2000,0.3325,0.03312364612025187,665.0
|
||||
0.003,2000,0.501,0.05628314409130197,1002.0
|
||||
0.0035,2000,0.682,0.09105921022136998,1364.0
|
||||
0.004,2000,0.8345,0.13920480678485292,1669.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,10000,0.0225,0.0018946185336699006,225.0
|
||||
0.0015,4000,0.05,0.004265318777560645,200.0
|
||||
0.002,2000,0.1095,0.009617798287998358,219.0
|
||||
0.0025,2000,0.214,0.01986654747829364,428.0
|
||||
0.003,2000,0.364,0.03701077827175081,728.0
|
||||
0.0035,2000,0.5525,0.06481093518102832,1105.0
|
||||
0.004,2000,0.7365,0.10518816757921234,1473.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,12000,0.0199166666666666,0.0016750685805796417,238.9999999999992
|
||||
0.0015,6000,0.0413333333333333,0.0035114743705089158,247.9999999999998
|
||||
0.002,4000,0.082,0.007104467133977943,328.0
|
||||
0.0025,2000,0.194,0.01781208360090769,388.0
|
||||
0.003,2000,0.321,0.03174633874742727,642.0
|
||||
0.0035,2000,0.4975,0.055733304754966406,995.0
|
||||
0.004,2000,0.6875,0.0923797676224748,1375.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.124,0.010971798240880681,248.0
|
||||
0.0015,2000,0.2365,0.0222359015716157,473.0
|
||||
0.002,2000,0.3665,0.037326792598442404,733.0
|
||||
0.0025,2000,0.5595,0.06603881814539603,1119.0
|
||||
0.003,2000,0.73,0.10336921268218224,1460.0
|
||||
0.0035,2000,0.837,0.14029596115963894,1674.0
|
||||
0.004,2000,0.9355,0.20421336158924952,1871.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,8000,0.0295,0.002492212300538421,236.0
|
||||
0.0015,4000,0.07525,0.006498116023036737,301.0
|
||||
0.002,2000,0.154,0.013839665569208792,308.0
|
||||
0.0025,2000,0.293,0.02848028572607786,586.0
|
||||
0.003,2000,0.4585,0.04983315584200687,917.0
|
||||
0.0035,2000,0.6525,0.08431471728347295,1305.0
|
||||
0.004,2000,0.802,0.1262468270496201,1604.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,8000,0.025875,0.0021822526517427665,207.0
|
||||
0.0015,4000,0.0535,0.004571544229555857,214.0
|
||||
0.002,2000,0.1165,0.010268909922777514,233.0
|
||||
0.0025,2000,0.231,0.021650873371036106,462.0
|
||||
0.003,2000,0.3665,0.037326792598442404,733.0
|
||||
0.0035,2000,0.552,0.06472390440895348,1104.0
|
||||
0.004,2000,0.742,0.10675969983223876,1484.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.789,0.12160429293407071,1578.0
|
||||
0.0015,2000,0.9,0.1745958147319816,1800.0
|
||||
0.002,2000,0.9465,0.21651717275071503,1893.0
|
||||
0.0025,2000,0.967,0.24743705884517853,1934.0
|
||||
0.003,2000,0.9905,0.32161385879719506,1981.0
|
||||
0.0035,2000,0.9965,0.3757780964762649,1993.0
|
||||
0.004,2000,0.9995,0.4692204681934514,1999.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.0915,0.007964810720254789,366.0
|
||||
0.0015,2000,0.18,0.016401583188387914,360.0
|
||||
0.002,2000,0.307,0.03009819055291696,614.0
|
||||
0.0025,2000,0.4545,0.04925022878399943,909.0
|
||||
0.003,2000,0.649,0.08354968174320077,1298.0
|
||||
0.0035,2000,0.793,0.12300416913096102,1586.0
|
||||
0.004,2000,0.9115,0.18295632456593924,1823.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,8000,0.030125,0.002545760854709589,241.0
|
||||
0.0015,4000,0.067,0.005762505879780444,268.0
|
||||
0.002,2000,0.1355,0.012060348411758404,271.0
|
||||
0.0025,2000,0.2805,0.027060355839749417,561.0
|
||||
0.003,2000,0.4395,0.0470985932750948,879.0
|
||||
0.0035,2000,0.619,0.07726481455474521,1238.0
|
||||
0.004,2000,0.7745,0.11672579914287295,1549.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.115,0.010128988904076097,230.0
|
||||
0.0015,2000,0.2165,0.020126716372619535,433.0
|
||||
0.002,2000,0.3575,0.0361944392516631,715.0
|
||||
0.0025,2000,0.5255,0.06023409479070929,1051.0
|
||||
0.003,2000,0.6935,0.09384489827464226,1387.0
|
||||
0.0035,2000,0.816,0.13156999840650407,1632.0
|
||||
0.004,2000,0.9105,0.1821909360735222,1821.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.0975,0.008512444610847103,390.0
|
||||
0.0015,2000,0.1915,0.017558569754261066,383.0
|
||||
0.002,2000,0.2765,0.02661075227253118,553.0
|
||||
0.0025,2000,0.448,0.04831127709115113,896.0
|
||||
0.003,2000,0.5865,0.07094884804525436,1173.0
|
||||
0.0035,2000,0.7455,0.10777583350900755,1491.0
|
||||
0.004,2000,0.8585,0.15037026489320615,1717.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.0925,0.008055852365631777,370.0
|
||||
0.0015,2000,0.1735,0.015754197146499838,347.0
|
||||
0.002,2000,0.265,0.025330719468954155,530.0
|
||||
0.0025,2000,0.427,0.04534551221126004,854.0
|
||||
0.003,2000,0.571,0.0680954310203834,1142.0
|
||||
0.0035,2000,0.7105,0.09814362266376564,1421.0
|
||||
0.004,2000,0.8315,0.1379151915045972,1663.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.189,0.01730577346851303,378.0
|
||||
0.0015,2000,0.334,0.03330489586414709,668.0
|
||||
0.002,2000,0.462,0.050346464045528894,924.0
|
||||
0.0025,2000,0.67,0.088249181932055,1340.0
|
||||
0.003,2000,0.8035,0.12680036354194668,1607.0
|
||||
0.0035,2000,0.8915,0.1689653255579383,1783.0
|
||||
0.004,2000,0.965,0.2437378987592076,1930.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.092,0.008010320054115394,368.0
|
||||
0.0015,2000,0.182,0.016601725400650635,364.0
|
||||
0.002,2000,0.2885,0.027966478964539188,577.0
|
||||
0.0025,2000,0.468,0.05123358540561418,936.0
|
||||
0.003,2000,0.6195,0.07736578684966466,1239.0
|
||||
0.0035,2000,0.7805,0.11870857647232991,1561.0
|
||||
0.004,2000,0.8815,0.16283731439217686,1763.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.0825,0.007149544452537682,330.0
|
||||
0.0015,2000,0.1585,0.01427786270551501,317.0
|
||||
0.002,2000,0.2535,0.024068915462335805,507.0
|
||||
0.0025,2000,0.4035,0.042142573743546796,807.0
|
||||
0.003,2000,0.5605,0.06621568805942701,1121.0
|
||||
0.0035,2000,0.729,0.10309294344737896,1458.0
|
||||
0.004,2000,0.8435,0.14320643674428069,1687.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.818,0.13236056607309032,1636.0
|
||||
0.0015,2000,0.901,0.17528682442801136,1802.0
|
||||
0.002,2000,0.9565,0.2299112633774043,1913.0
|
||||
0.0025,2000,0.969,0.25134773793289455,1938.0
|
||||
0.003,2000,0.9945,0.3518181130178767,1989.0
|
||||
0.0035,2000,0.997,0.3837454986270925,1994.0
|
||||
0.004,2000,0.9995,0.4692204681934514,1999.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.146,0.013065897372720348,292.0
|
||||
0.0015,2000,0.2805,0.027060355839749417,561.0
|
||||
0.002,2000,0.415,0.043695229663312296,830.0
|
||||
0.0025,2000,0.578,0.06937216612000952,1156.0
|
||||
0.003,2000,0.746,0.10792203989196847,1492.0
|
||||
0.0035,2000,0.8665,0.15448086847325826,1733.0
|
||||
0.004,2000,0.9405,0.2095463416012857,1881.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.082,0.007104467133977943,328.0
|
||||
0.0015,2000,0.1555,0.013985493383097625,311.0
|
||||
0.002,2000,0.26,0.024779901164930007,520.0
|
||||
0.0025,2000,0.434,0.04632286722747814,868.0
|
||||
0.003,2000,0.603,0.07409618065132939,1206.0
|
||||
0.0035,2000,0.7465,0.10806851033720544,1493.0
|
||||
0.004,2000,0.859,0.1506208564330962,1718.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.058,0.004966791530059078,232.0
|
||||
0.0015,2000,0.129,0.011443461592906767,258.0
|
||||
0.002,2000,0.241,0.022717441549556572,482.0
|
||||
0.0025,2000,0.4295,0.04569330484413092,859.0
|
||||
0.003,2000,0.593,0.07217472124714996,1186.0
|
||||
0.0035,2000,0.744,0.10733878882764858,1488.0
|
||||
0.004,2000,0.871,0.15689342561956476,1742.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.0401666666666666,0.0034104728062255285,240.9999999999996
|
||||
0.0015,4000,0.08925,0.007760302417565645,357.0
|
||||
0.002,2000,0.156,0.014034155420617034,312.0
|
||||
0.0025,2000,0.3135,0.030859569505892193,627.0
|
||||
0.003,2000,0.445,0.0478813285765477,890.0
|
||||
0.0035,2000,0.63,0.07951479949867513,1260.0
|
||||
0.004,2000,0.795,0.12371343129766765,1590.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,8000,0.032,0.002706596520449467,256.0
|
||||
0.0015,4000,0.074,0.006386274207228704,296.0
|
||||
0.002,2000,0.1445,0.012921555968088194,289.0
|
||||
0.0025,2000,0.275,0.02644273818893983,550.0
|
||||
0.003,2000,0.411,0.043152026910574515,822.0
|
||||
0.0035,2000,0.5955,0.07265099463809832,1191.0
|
||||
0.004,2000,0.7595,0.11197282364335293,1519.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.1595,0.014375531494479343,319.0
|
||||
0.0015,2000,0.3005,0.029343329924881867,601.0
|
||||
0.002,2000,0.4525,0.04896023310758335,905.0
|
||||
0.0025,2000,0.6415,0.08193359243128073,1283.0
|
||||
0.003,2000,0.7785,0.11804218900471797,1557.0
|
||||
0.0035,2000,0.879,0.16137955205786958,1758.0
|
||||
0.004,2000,0.9555,0.22845131704956945,1911.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.06175,0.0052974886347837424,247.0
|
||||
0.0015,2000,0.1435,0.012825457194246215,287.0
|
||||
0.002,2000,0.2345,0.022022718392227913,469.0
|
||||
0.0025,2000,0.4225,0.04472297597135455,845.0
|
||||
0.003,2000,0.575,0.06882263455836479,1150.0
|
||||
0.0035,2000,0.737,0.10532978538399707,1474.0
|
||||
0.004,2000,0.857,0.14962333077738132,1714.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,6000,0.0478333333333333,0.004076268495095681,286.9999999999998
|
||||
0.0015,2000,0.1135,0.009989285108149337,227.0
|
||||
0.002,2000,0.1975,0.018168216629754652,395.0
|
||||
0.0025,2000,0.3355,0.033486520196851055,671.0
|
||||
0.003,2000,0.4805,0.0531116004427149,961.0
|
||||
0.0035,2000,0.6645,0.08699243286672087,1329.0
|
||||
0.004,2000,0.8145,0.13098222531638515,1629.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.818,0.13236056607309032,1636.0
|
||||
0.0015,2000,0.901,0.17528682442801136,1802.0
|
||||
0.002,2000,0.9565,0.2299112633774043,1913.0
|
||||
0.0025,2000,0.969,0.25134773793289455,1938.0
|
||||
0.003,2000,0.9945,0.3518181130178767,1989.0
|
||||
0.0035,2000,0.997,0.3837454986270925,1994.0
|
||||
0.004,2000,0.9995,0.4692204681934514,1999.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,2000,0.138,0.012298745249961884,276.0
|
||||
0.0015,2000,0.2515,0.023851292168152738,503.0
|
||||
0.002,2000,0.4005,0.04174204711940421,801.0
|
||||
0.0025,2000,0.5515,0.06463696262955332,1103.0
|
||||
0.003,2000,0.7215,0.10105021415209858,1443.0
|
||||
0.0035,2000,0.854,0.14815076449150033,1708.0
|
||||
0.004,2000,0.9375,0.2062994740159002,1875.0
|
||||
|
@@ -0,0 +1,8 @@
|
||||
physical_p,num_trials,LER,LER_per_round,num_errors
|
||||
0.001,4000,0.061,0.005231252406122322,244.0
|
||||
0.0015,2000,0.129,0.011443461592906767,258.0
|
||||
0.002,2000,0.2375,0.022342685193895928,475.0
|
||||
0.0025,2000,0.39,0.040354525526934304,780.0
|
||||
0.003,2000,0.5625,0.06657053735419127,1125.0
|
||||
0.0035,2000,0.72,0.10064772839754166,1440.0
|
||||
0.004,2000,0.8455,0.14412427850801302,1691.0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user