Finish QEC intro, most of stabilizer measurements, add outline for rest
This commit is contained in:
@@ -815,23 +815,23 @@ using \emph{projection operators} \cite[Eq.~3.160]{griffiths_introduction_1995}
|
||||
\end{align*}%
|
||||
These project a vector onto the subspace spanned by $\ket{e_n}$.
|
||||
|
||||
% Using projection operators to measure if a state has a component
|
||||
% along a basis vector
|
||||
|
||||
A particularly interesting property of projection operators is that
|
||||
\begin{align*}
|
||||
\hat{P}_n (\hat{P}_n \ket{\psi}) = \hat{P}_n^2 \ket{\psi}
|
||||
= \hat{P}_n \ket{\psi},
|
||||
\end{align*}%
|
||||
and the only way this can hold for any $\ket{\psi}$ is if $\hat{P}_n$
|
||||
only has the eigenvalues $0$ or $1$
|
||||
% tex-fmt: off
|
||||
\cite[Prob.~3.57a)]{griffiths_introduction_1995}.
|
||||
% tex-fmt: on
|
||||
The eigenvalues can again be interpreted as possible measurement results.
|
||||
We can thus use $\hat{P}$ as an observable and treat
|
||||
the eigenvalue as an indicator of the state having a component along
|
||||
the related basis vector.
|
||||
% % Using projection operators to measure if a state has a component
|
||||
% % along a basis vector
|
||||
%
|
||||
% A particularly interesting property of projection operators is that
|
||||
% \begin{align*}
|
||||
% \hat{P}_n (\hat{P}_n \ket{\psi}) = \hat{P}_n^2 \ket{\psi}
|
||||
% = \hat{P}_n \ket{\psi},
|
||||
% \end{align*}%
|
||||
% and the only way this can hold for any $\ket{\psi}$ is if $\hat{P}_n$
|
||||
% only has the eigenvalues $0$ or $1$
|
||||
% % tex-fmt: off
|
||||
% \cite[Prob.~3.57a)]{griffiths_introduction_1995}.
|
||||
% % tex-fmt: on
|
||||
% The eigenvalues can again be interpreted as possible measurement results.
|
||||
% We can thus use $\hat{P}$ as an observable and treat
|
||||
% the eigenvalue as an indicator of the state having a component along
|
||||
% the related basis vector.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Qubits and Multi-Qubit States}
|
||||
@@ -892,7 +892,7 @@ We have
|
||||
\end{split}
|
||||
\end{align}
|
||||
We call $\ket{x_0, \ldots, x_n}~, x_i \in \{0,1\}$ the
|
||||
\emph{computational basis states} \cite[Sec.~4.6]{wohlin_guidelines_2014}.
|
||||
\emph{computational basis states} \cite[Sec.~4.6]{nielsen_quantum_2010}.
|
||||
|
||||
% Entanglement
|
||||
|
||||
@@ -937,7 +937,7 @@ thus the only possible state change is a bit-flip, a gerenal 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
|
||||
\emph{Pauli operators}
|
||||
\emph{Pauli operators} \cite[Sec.~2.2]{gottesman_stabilizer_1997}
|
||||
\cite[Sec.~2.2]{roffe_quantum_2019}
|
||||
\begin{align*}
|
||||
\begin{array}{c}
|
||||
@@ -1010,67 +1010,389 @@ 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}
|
||||
|
||||
\red{[TODO] \cite[Sec.~1.3.4]{nielsen_quantum_2010}}
|
||||
\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}}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\section{Quantum Error Correction}
|
||||
\label{sec:Quantum Error Correction}
|
||||
|
||||
% Why we need quantum error correction
|
||||
% TODO: Use this for the introduction as well
|
||||
|
||||
% The unique challenges of QEC compared to classical FEC
|
||||
% General motivation behind QEC
|
||||
|
||||
% The unique challenges of QEC compared to classical FEC
|
||||
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
|
||||
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
|
||||
\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
|
||||
correction.
|
||||
|
||||
\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}
|
||||
\item Why we need commutativity of the stabilizers [Journal,
|
||||
p.~51], [Got97, p.~6]
|
||||
\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)
|
||||
\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}
|
||||
}
|
||||
% 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}:
|
||||
\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
|
||||
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
|
||||
one of the determinate states, thereby potentially destroying
|
||||
information.
|
||||
\end{itemize}
|
||||
|
||||
% 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,
|
||||
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, but rather spreading it out over all $n$
|
||||
physical ones \cite[Intro.]{calderbank_good_1996}
|
||||
To differentiate a 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}.
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Stabilizer Measurements}
|
||||
\label{subsec:Stabilizer Measurements}
|
||||
|
||||
% Setting the stage
|
||||
|
||||
Before we move on to the description of entire codes, we introduce
|
||||
the notion of the \emph{stabilizer measurement}.
|
||||
Consider the two-qubit repetition code
|
||||
\cite[Sec.~2.4]{roffe_quantum_2019}, where we map
|
||||
\begin{align*}
|
||||
\ket{\psi} = \alpha \ket{0} + \beta \ket{1}
|
||||
\hspace*{3mm} \mapsto \hspace*{3mm}
|
||||
\ket{\psi}_\text{L}
|
||||
= \alpha \underbrace{\ket{00}}_{=:\ket{0}_\text{L}} + \beta
|
||||
\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\{
|
||||
\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.
|
||||
|
||||
% Measuring stabilizers
|
||||
|
||||
To determine if an error occurred, we want to measure
|
||||
whether a state belongs
|
||||
% TODO: Remove footnote?
|
||||
% \footnote{
|
||||
% It is possible for a state to not completely lie in either subspace.
|
||||
% In this case, we can interpret it as being in
|
||||
% $\mathcal{C}$ or $\mathcal{F}$ with a certain probability.
|
||||
% }
|
||||
to $\mathcal{C}$ or $\mathcal{F}$.
|
||||
As explained in \autoref{subsec:Observables}, physical measurements
|
||||
can be mathematically described using operators whose eigenvalues
|
||||
are the possible measurement results.
|
||||
Here, we need an operator with two eigenvalues and the corresponding
|
||||
eigenspaces should be $\mathcal{C}$ and $\mathcal{F}$ respectively.
|
||||
For the two-qubit code, $Z_1Z_2$ is such an operator:
|
||||
\begin{align}
|
||||
Z_1Z_2 E \ket{\psi}_\text{L} &= (+1) E \ket{\psi}_\text{L}
|
||||
\hspace*{3mm} \forall
|
||||
E \ket{\psi}_\text{L} \in \mathcal{C} \\
|
||||
Z_1Z_2 E \ket{\psi}_\text{L} &= (-1) E \ket{\psi}_\text{L}
|
||||
\hspace*{3mm} \forall
|
||||
E \ket{\psi}_\text{L} \in \mathcal{F}
|
||||
.%
|
||||
\end{align}
|
||||
$E \in \left\{ X,I \right\}$ is an operator describing a possible
|
||||
error and $E \ket{\psi}_\text{L}$ is the resulting state after that error.
|
||||
By measuring the corresponding eigenvalue, we can determine if
|
||||
$E\ket{\psi}_\text{L}$ lies in $\mathcal{C}$ or $\mathcal{F}$.
|
||||
% TODO: If necessary, cite \cite[Sec.~3]{roffe_quantum_2019} for the
|
||||
% 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
|
||||
$\ket{\psi}_\text{L}$ in such a way that the eigenvalue is indicated
|
||||
by measuring that 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
|
||||
\begin{align}
|
||||
\label{eq:error_projection}
|
||||
E\ket{\psi}_\text{L} \ket{0}_\text{A} \hspace*{3mm} \rightarrow
|
||||
\hspace*{3mm}
|
||||
\underbrace{\frac{1}{2} \mleft( I_1I_2 + Z_1Z_2 \mright)}_{=:
|
||||
P_\mathcal{C}} E\ket{\psi}_\text{L}
|
||||
\ket{0}_\text{A}
|
||||
+ \underbrace{\frac{1}{2} \mleft( I_1I_2 - Z_1Z_2 \mright)}_{=:
|
||||
P_\mathcal{F}}
|
||||
E\ket{\psi}_\text{L} \ket{1}_\text{A}
|
||||
.%
|
||||
\end{align}
|
||||
If $E \ket{\psi}_\text{L} \in \mathcal{C}$, the second term will
|
||||
cancel and we will deterministically measure $\ket{0}_\text{A}$ for
|
||||
the ancilla qubit. Similarly, if $E \ket{\psi}_\text{L} \in
|
||||
\mathcal{F}$, we will deterministically measure $\ket{1}_\text{A}$.
|
||||
|
||||
\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}
|
||||
|
||||
\caption{Stabilizer measurement circuit for the two-qubit repetition code.}
|
||||
\label{fig:stabilizer_measurement}
|
||||
\end{figure}
|
||||
|
||||
% Digitization of errors
|
||||
|
||||
Note that it is possible for a vector $E\ket{\psi}$ to not completely
|
||||
lie in either subspace.
|
||||
In this case, we can interpret it as being in $\mathcal{C}$ or
|
||||
$\mathcal{F}$ with a certain probability.
|
||||
However, when we measure the stabilizer, we will find that the vector
|
||||
lies either in one or the other.
|
||||
This is because the act of measuring the error partly collapses the
|
||||
state, eliminating the uncertainty about the type of the error
|
||||
\cite[Sec.~10.2]{nielsen_quantum_2010}.
|
||||
This can be seen in \autoref{eq:error_projection}, as the expressions
|
||||
$P_\mathcal{C}$ and $P_\mathcal{F}$ constitute projection operators onto
|
||||
$\mathcal{C}$ and $\mathcal{F}$.
|
||||
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} scheme only needs to be able to
|
||||
correct $X$ and $Z$ errors.
|
||||
This effect is referred to as error \emph{digitization}
|
||||
\cite[Sec.~2.2]{roffe_quantum_2019}.
|
||||
|
||||
% The stabilizer group
|
||||
|
||||
\indent\red{[Conditions for the stabilizer group
|
||||
\cite[Sec.~4.1]{roffe_quantum_2019}]} \\
|
||||
\indent\red{[Why we care about (anti-)commutativity of the
|
||||
stabilizers with errors + Z-type operators for X type errors and vice
|
||||
versa ]} \\
|
||||
\indent\red{[(?) Stabilizer generators]}
|
||||
|
||||
% A general stabilizer measurement circuit
|
||||
|
||||
\indent\red{[General stabilizer measurement circuit
|
||||
\cite[Figure~4]{roffe_quantum_2019}]}
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Stabilizer Codes}
|
||||
\subsection{CSS Codes}
|
||||
\label{subsec:Stabilizer Codes}
|
||||
|
||||
% Structure of a stabilizer code
|
||||
|
||||
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.
|
||||
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
|
||||
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}.
|
||||
|
||||
% Syndrome extraction circuitry
|
||||
|
||||
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
|
||||
\autoref{subsec:Stabilizer Measurements}.
|
||||
A full \emph{syndrome extraction circuit} is depicted in \autoref{fig:sec}.
|
||||
|
||||
% 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{[Parity-check matrix \cite[Sec.~10.5.1]{nielsen_quantum_2010}]}
|
||||
|
||||
\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.}
|
||||
|
||||
\caption{
|
||||
\red{Illustration of a general syndrome extraction circuit.
|
||||
Adapted from \cite[Figure~4]{roffe_quantum_2019}.}
|
||||
}
|
||||
\label{fig:sec}
|
||||
\end{figure}
|
||||
|
||||
%%%%%%%%%%%%%%%%
|
||||
\subsection{Calderbank-Shor-Steane Codes}
|
||||
\label{subsec:Calderbank-Shor-Steane Codes}
|
||||
|
||||
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.
|
||||
|
||||
\indent\red{[Construction from two binary linear codes
|
||||
\cite[p.~452,469]{nielsen_quantum_2010}]}
|
||||
|
||||
\subsection{Quantum Low-Density Parity-Check Codes}
|
||||
|
||||
\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}]}%
|
||||
% 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}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user