|
|
|
|
@@ -643,6 +643,8 @@ 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$.
|
|
|
|
|
Two operators $P_1$ and $P_2$ are said to \emph{commute}, if $P_1P_2
|
|
|
|
|
= P_2P_1$ and \emph{anti-commute} if $P_1P_2 = -P_2P_1$.
|
|
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%
|
|
|
|
|
\subsection{Observables}
|
|
|
|
|
@@ -871,7 +873,7 @@ Take for example the two qubits
|
|
|
|
|
\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 +895,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
|
|
|
|
|
|
|
|
|
|
@@ -933,7 +941,7 @@ 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
|
|
|
|
|
@@ -968,12 +976,20 @@ Luckily, we can express any operator as a linear combination of the
|
|
|
|
|
\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 ask e.g., $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 +1026,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}
|
|
|
|
|
@@ -1063,16 +1110,17 @@ 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 ones \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}.
|
|
|
|
|
|
|
|
|
|
%%%%%%%%%%%%%%%%
|
|
|
|
|
\subsection{Stabilizer Measurements}
|
|
|
|
|
@@ -1261,8 +1309,10 @@ Formally, we define the \emph{stabilizer group} $\mathcal{S}$ as
|
|
|
|
|
\mathcal{S} = \left\{P_i \in \mathcal{G}_n ~:~ P_i \ket{\psi}_\text{L} =
|
|
|
|
|
(+1)\ket{\psi}_\text{L} \forall \ket{\psi}_\text{L} ~\cap~
|
|
|
|
|
[P_i,P_j] = 0 \forall i,j\right\}
|
|
|
|
|
.%
|
|
|
|
|
,%
|
|
|
|
|
\end{align*}
|
|
|
|
|
where $[P_i,P_j] := P_iP_j - P_j P_i$ is called the \emph{commutator}
|
|
|
|
|
of $P_i$ and $P_j$.
|
|
|
|
|
We care in particular about the commuting properties of stabilizers
|
|
|
|
|
with respect to possible errors.
|
|
|
|
|
The measurement circuit for an arbitrary stabilizer $P_i$ modifies
|
|
|
|
|
@@ -1388,25 +1438,8 @@ $Z$ operators and some with only $X$ operators.
|
|
|
|
|
\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
|
|
|
|
|
@@ -1418,8 +1451,6 @@ $Z$ operators and some with only $X$ operators.
|
|
|
|
|
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}
|
|
|
|
|
|