bachelor_thesis/thesis/chapters/quantum_computing.tex

280 lines
12 KiB
TeX
Raw Normal View History

2020-01-22 14:35:47 +00:00
% vim: ft=tex
2020-03-29 10:43:03 +00:00
\chapter{Quantum Computing}
2020-01-22 14:35:47 +00:00
2020-03-26 20:35:30 +00:00
This chapter gives an introduction to binary quantum computing
and some basic properties of quantum systems such as measurement
and time evolution. It is based on \cite{nielsen_chuang_2010}
but introduces a notation that will often be different.
2020-03-29 10:43:03 +00:00
\section{Qbits and Gates}
\subsection{Single Qbits}
2020-01-22 14:35:47 +00:00
\begin{definition}
2020-03-26 20:35:30 +00:00
A qbit is a two-level quantum mechanical system \cite{nielsen_chuang_2010}, i.e. it has the eigenbasis
2020-01-22 14:35:47 +00:00
$ \{\ket{\uparrow} \equiv \ket{1}, \ket{\downarrow} \equiv \ket{0}\} $
2020-02-21 16:59:00 +00:00
with $\braket{\uparrow}{\downarrow} = 0$. In the following this basis will be called
the $Z$ basis in analogy to the conventions used in spin systems ($\sigma_Z$). For some computations
2020-03-05 09:48:13 +00:00
it can be useful to have component vectors; $\ket{\uparrow} \equiv \left(\begin{array}{c} 0 \\ 1\end{array} \right)$ and
2020-01-22 14:35:47 +00:00
$\ket{\downarrow} \equiv \left(\begin{array}{c} 1 \\ 0 \end{array} \right)$
are used in these cases.
\end{definition}
2020-03-16 12:16:33 +00:00
A gate acting on a qbit is a unitary operator $G \in U(2)$. One can show that
2020-03-16 12:20:09 +00:00
$\forall G \in U(2)$ $G$ can be written as a product of unitary generator matrices
\cite[Chapter 4.2]{nielsen_chuang_2010}\cite[Chapter 4.3]{kaye_ea2007}\cite[Chapter 2]{marquezino_ea_2019};
2020-03-26 20:35:30 +00:00
common choices for the generators are $ X, H, R_{\phi}$ or $Z, H, R_{\phi}$
\footnote{Note that the notation in the sources is different. Instead of $R_\phi$ the
$R_Z(\alpha) = \exp(-\frac{i\alpha}{2}Z)$ and $R_Y(\alpha) = \exp(-\frac{i\alpha}{2}Y)$
rotations are used. However $R_\phi = \exp(-\frac{i\phi}{2}) R_Z(-\phi)$ and
$R_Y(\alpha) = \cos(\frac{\alpha}{2}) I - i\sin(\frac{\alpha}{2}) Y = S H R_Z H^\dagger S^\dagger$ \cite{nielsen_chuang_2010}.
}
with
2020-01-22 14:35:47 +00:00
\label{ref:singleqbitgates}
\begin{equation}
2020-01-27 19:01:34 +00:00
\begin{aligned}
& X := \left(\begin{array}{cc} 0 & 1 \\ 1 & 0\end{array}\right) \\
& Z := \left(\begin{array}{cc} 1 & 0 \\ 0 & -1\end{array}\right) \\
& H := \frac{1}{\sqrt{2}}\left(\begin{array}{cc} 1 & 1 \\ 1 & -1\end{array}\right) \\
& R_{\phi} := \left(\begin{array}{cc} 1 & 0 \\ 0 & \exp(i\phi)\end{array}\right)\\
2020-03-05 09:48:13 +00:00
& I := \left(\begin{array}{cc} 1 & 0 \\ 0 & 1\end{array}\right). \\
2020-01-27 19:01:34 +00:00
\end{aligned}
2020-01-22 14:35:47 +00:00
\end{equation}
Note that $X = HZH$ and $Z = R_{\pi}$, so the set of $H, R_\phi$ is sufficient.
2020-02-21 16:59:00 +00:00
Further note that the basis vectors are chosen s.t. $Z\ket{0} = +\ket{0}$ and $Z\ket{1} = -\ket{1}$;
2020-03-05 09:48:13 +00:00
transforming to the other Pauli eigenstates is done using $H$ and $SH$
2020-01-22 14:35:47 +00:00
\begin{equation}
2020-02-21 16:59:00 +00:00
S := R_{\frac{\pi}{2}} = \left(\begin{array}{cc} 1 & 0 \\ 0 & i\end{array}\right)
2020-01-22 14:35:47 +00:00
\end{equation}
\begin{equation}
2020-03-05 09:48:13 +00:00
S H Z H^\dagger S^\dagger = S X S^\dagger = Y.
2020-01-22 14:35:47 +00:00
\end{equation}
2020-02-21 16:59:00 +00:00
The following states are the $\pm 1$ eigenstates of the $X,Y,Z$ operators
and will be used in some calculations later:
2020-01-27 19:01:34 +00:00
\begin{equation}
\begin{aligned}
&\ket{+_X} \equiv \ket{+} := \frac{1}{\sqrt{2}} (\ket{0} + \ket{1}) \\
&\ket{-_X} \equiv \ket{-} := \frac{1}{\sqrt{2}} (\ket{0} - \ket{1}) \\
&\ket{+_Y} := \frac{1}{\sqrt{2}} (\ket{0} + i\ket{1}) \\
&\ket{-_Y} := \frac{1}{\sqrt{2}} (\ket{0} - i\ket{1}) \\
&\ket{+_Z} := \ket{0} \\
&\ket{-_Z} := \ket{1} \\
\end{aligned}
\end{equation}
2020-03-29 10:43:03 +00:00
\subsection{Many-Qbit Systems}
2020-01-29 10:19:13 +00:00
\label{ref:many_qbits}
2020-01-22 14:35:47 +00:00
\begin{postulate}
2020-03-05 09:48:13 +00:00
A $n$-qbit quantum mechanical state is the tensor product of the $n$ one-qbit
states \cite[Postulate 4]{nielsen_chuang_2010}.
2020-01-22 14:35:47 +00:00
\end{postulate}
Let $\ket{0}_s := \left(\begin{array}{c} 1 \\ 0 \end{array} \right)$ and $\ket{1}_s := \left(\begin{array}{c} 0 \\ 1 \end{array} \right)$
2020-03-05 09:48:13 +00:00
be the basis of the one-qbit systems. Then two-qbit basis states are
2020-01-22 14:35:47 +00:00
\begin{equation}
\ket{0} := \ket{0b00} := \ket{0}_s \otimes \ket{0}_s := \left(\begin{array}{c} 1 \\ 0 \\ 0 \\ 0 \end{array} \right)
\end{equation}
\begin{equation}
\ket{1} := \ket{0b01} := \ket{0}_s \otimes \ket{1}_s := \left(\begin{array}{c} 0 \\ 1 \\ 0 \\ 0 \end{array} \right)
\end{equation}
\begin{equation}
\ket{2} := \ket{0b10} := \ket{1}_s \otimes \ket{0}_s := \left(\begin{array}{c} 0 \\ 0 \\ 1 \\ 0 \end{array} \right)
\end{equation}
\begin{equation}
2020-03-05 09:48:13 +00:00
\ket{3} := \ket{0b11} := \ket{1}_s \otimes \ket{1}_s := \left(\begin{array}{c} 0 \\ 0 \\ 0 \\ 1 \end{array} \right).
2020-01-22 14:35:47 +00:00
\end{equation}
2020-02-21 16:59:00 +00:00
The $n$-qbit basis states can be constructed in a similar manner.
2020-03-05 09:48:13 +00:00
A general $n$-qbit state is now a superposition of the
integer states
2020-01-22 14:35:47 +00:00
\begin{equation}
2020-03-02 09:46:59 +00:00
\label{eq:ci}
2020-03-27 14:38:43 +00:00
\ket{\psi} = \sum\limits_{i = 0}^{2^n - 1} c_i \ket{i}
2020-01-22 14:35:47 +00:00
\end{equation}
2020-02-21 16:59:00 +00:00
2020-03-05 09:48:13 +00:00
with the normation condition
2020-01-22 14:35:47 +00:00
\begin{equation}
2020-03-05 09:48:13 +00:00
\sum\limits_{i = 0}^{2^n - 1} |c_i|^2 = 1.
2020-01-22 14:35:47 +00:00
\end{equation}
The states $\ket{i}$ for $i = 0, ..., 2^{n}-1$ are called integer states. Note
2020-03-23 15:02:07 +00:00
that integer states are eigenstates of the $Z$ operators.\\
The computational basis is
2020-03-26 20:35:30 +00:00
$\left\{\ket{i_0} \otimes ... \otimes \ket{i_{n-1}} \middle| i_0, ..., i_{n-1} = 0, 1\right\}$
\cite{nielsen_chuang_2010}.
2020-01-22 14:35:47 +00:00
\begin{definition}
2020-02-21 16:59:00 +00:00
For a single-qbit gate $U$ and a qbit $j = 0, 1, ..., n - 1$
2020-01-22 14:35:47 +00:00
\begin{equation}
U_j := \left(\bigotimes\limits_{i = 0}^{j - 1} I\right)
\otimes U
\otimes \left(\bigotimes\limits_{i = j + 1}^{n - 1} I \right)
\end{equation}
2020-03-26 20:35:30 +00:00
is acting on qbit $j$ \cite{kaye_ea2007}.
2020-01-22 14:35:47 +00:00
\end{definition}
2020-02-21 16:59:00 +00:00
% XXX
2020-03-26 20:35:30 +00:00
%\newpage
2020-02-21 16:59:00 +00:00
2020-01-22 14:35:47 +00:00
\begin{definition}\label{def:CU}
For two qbits $i,j = 0, 1, ..., n - 1$, $i \neq j$ and a gate $U_i$ acting on $i$
the controlled version of $U$ is defined by
2020-02-19 10:19:06 +00:00
\begin{equation}
\begin{aligned}\label{eq:CU}
2020-03-23 15:02:07 +00:00
CU_{i, j} &:= \ket{0}\bra{0}_j\otimes I_i
2020-02-19 10:19:06 +00:00
+ \ket{1}\bra{1}_j \otimes U_i \\
2020-03-23 15:02:07 +00:00
&:= \left(\bigotimes\limits_{l < j} I\right)
2020-02-19 10:19:06 +00:00
\otimes \ket{0}\bra{0}
\otimes \left(\bigotimes\limits_{j < l < i} I\right)
\otimes I
\otimes \left(\bigotimes\limits_{j > l} I \right)\\
2020-03-23 15:02:07 +00:00
&\mbox{ } + \left(\bigotimes\limits_{l < j} I\right)
2020-02-19 10:19:06 +00:00
\otimes \ket{1}\bra{1}
\otimes \left(\bigotimes\limits_{j < l < i} I\right)
\otimes U
\otimes \left(\bigotimes\limits_{j > l} I \right)\\
\end{aligned}
2020-01-22 14:35:47 +00:00
\end{equation}
2020-02-19 10:19:06 +00:00
where without loss of generality $j < i$; the other case is analogous.
2020-03-05 09:48:13 +00:00
In particular for $X, Z$
2020-01-22 14:35:47 +00:00
\begin{equation}\label{eq:CX_pr}
CX(i, j) = \ket{0}\bra{0}_j\otimes I_i + \ket{1}\bra{1}_j \otimes X_i
\end{equation}
\begin{equation}\label{eq:CZ_pr}
2020-03-05 09:48:13 +00:00
CZ(i, j) = \ket{0}\bra{0}_j\otimes I_i + \ket{1}\bra{1}_j \otimes Z_i .
2020-01-22 14:35:47 +00:00
\end{equation}
2020-03-26 20:35:30 +00:00
This follows the definition given in \cite{barenco_ea_1995}.
2020-01-22 14:35:47 +00:00
\end{definition}
2020-02-19 10:19:06 +00:00
In Definition \ref{def:CU} $i$ is called the act-qbit and $j$ the control-qbit. In words
2020-01-22 14:35:47 +00:00
$CU$ applies the gate $U$ to the act-qbit if the control-qbit is in its $\ket{1}$ state.
One can show that the gates in \ref{ref:singleqbitgates} together with an entanglement gate, such as $CX$ or $CZ$ are enough
2020-03-23 15:02:07 +00:00
to generate an arbitrary $n$-qbit gate \cite{nielsen_chuang_2010}\cite[Chapter 4.3]{kaye_ea2007}\cite{barenco_ea_1995}.
2020-03-05 09:48:13 +00:00
The matrix representation of $CX$ and $CZ$ for two qbits is given by
2020-01-22 14:35:47 +00:00
\begin{equation}
CX_{1, 0} = \left(\begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 1 & 0 \end{array}\right)
\end{equation}
\begin{equation}
2020-03-05 09:48:13 +00:00
CZ_{1, 0} = \left(\begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & -1 \end{array}\right).
2020-01-22 14:35:47 +00:00
\end{equation}
2020-03-29 10:43:03 +00:00
\subsection{Measurements}
2020-01-22 14:35:47 +00:00
\begin{postulate}
Let
2020-03-27 14:38:43 +00:00
\begin{equation}\ket{\psi} = \alpha\ket{\phi_1} \otimes \ket{1}_j + \beta\ket{\phi_0} \otimes \ket{0}_j\end{equation}
2020-02-21 16:59:00 +00:00
be a $n$-qbit state
2020-01-22 14:35:47 +00:00
where $\ket{1}_j, \ket{0}_j$ denote the $j$-th qbit state and $|\alpha|^2 + |\beta|^2 = 1$.
Then the measurement of the $j$-th qbit will yield
2020-03-27 14:38:43 +00:00
\begin{equation}\ket{\phi_1} \otimes \ket{1}_j\end{equation}
2020-01-22 14:35:47 +00:00
with probability $|\alpha|^2$ and
2020-03-27 14:38:43 +00:00
\begin{equation}\ket{\phi_0} \otimes \ket{0}_j\end{equation}
2020-03-26 20:35:30 +00:00
with probability $|\beta|^2$ \cite{nielsen_chuang_2010}. This is called collapse of the wave function.
2020-01-22 14:35:47 +00:00
\end{postulate}
Measuring a qbit will also yield a classical result $0$ or $1$ with the respective probabilities.
2020-01-27 19:01:34 +00:00
Measurements are always performed in the computational basis, i.e. for a qbit
2020-02-21 16:59:00 +00:00
$i$ $Z_i$ is measured. The $+1$ eigenvalue of $Z_i$ is $\ket{0}_i$, $\ket{1}_i$ for $-1$.
2020-01-22 14:35:47 +00:00
\begin{corrolary}
In general the measurement of a qbit is not invertible, in particular it cannot be represented as a
unitary operator.
\end{corrolary}
\begin{proof}
2020-03-26 20:35:30 +00:00
The measurement is not injective: Measuring both
2020-01-22 14:35:47 +00:00
$\ket{0}$ and $\frac{1}{\sqrt{2}}(\ket{0} + \ket{1})$ (can) map to $\ket{0}$.
Any unitary matrix $U$ has the inverse $U^\dagger \equiv U^{-1}$.
\end{proof}
2020-03-05 09:48:13 +00:00
Because a measurement is not unitary it is not a gate in the sense of the definition above.
2020-01-22 14:35:47 +00:00
In the following discussion the term \textit{measurement gate} will be used from time
2020-03-26 20:35:30 +00:00
to time as a measurement can be treated similarly while doing numerics.
2020-01-22 14:35:47 +00:00
2020-03-29 10:43:03 +00:00
\section{Quantum Circuits}
2020-03-07 14:35:47 +00:00
\label{ref:quantum_circuits}
2020-01-22 14:35:47 +00:00
2020-02-21 16:59:00 +00:00
As mentioned in \ref{ref:many_qbits} one can approximate an arbitrary $n$-qbit
gate $U$ as a product of some single-qbit gates and either $CX$ or $CZ$.
2020-03-05 09:48:13 +00:00
Writing (possibly huge) products of matrices is quite unpractical and
2020-01-29 10:19:13 +00:00
unreadable. To address this problem quantum circuits have been introduced.
2020-02-21 16:59:00 +00:00
These represent the qbits as a horizontal line and a gate acting on a qbit is
2020-01-29 10:19:13 +00:00
a box with a name on the respective line. Quantum circuits are read from
left to right. This means that a gate $U_i = Z_i X_i H_i$ has the
2020-03-05 09:48:13 +00:00
circuit representation
2020-01-27 19:01:34 +00:00
\[
\Qcircuit @C=1em @R=.7em {
& \gate{H} & \gate{X} & \gate{Z} &\qw \\
2020-03-05 09:48:13 +00:00
}.
2020-01-27 19:01:34 +00:00
\]
2020-02-21 16:59:00 +00:00
The controlled gates (such as $CX$ and $CZ$) have a vertical line from the control-qbit to
2020-03-05 09:48:13 +00:00
the gate, for instance the circuit for $CZ_{2, 1}CX_{2,0}$ is
2020-01-27 19:01:34 +00:00
\[
\Qcircuit @C=1em @R=.7em {
& \qw & \ctrl{2} & \qw & \qw &\qw \\
& \qw & \qw & \qw & \ctrl{1} &\qw \\
2020-03-05 09:48:13 +00:00
& \qw & \gate{X} & \qw & \gate{Z} &\qw &\rstick{.}\\
2020-01-27 19:01:34 +00:00
}
\]
2020-02-19 11:36:56 +00:00
Several qbits can be abbreviated by writing a slash on the qbit line:
\[
\Qcircuit @C=1em @R=.7em {
& {/} \qw & \qw & \gate{Z^{\otimes n}} & \qw \\
}
\]
2020-03-29 10:43:03 +00:00
\section{Quantum Algorithms}
2020-03-24 14:11:16 +00:00
\label{ref:quantum_algorithms}
2020-01-29 10:19:13 +00:00
2020-03-23 15:02:07 +00:00
The great hope behind quantum computing is that it will speed up some
computations exponentially using algorithms that utilize the laws of quantum
mechanics. Current algorithms are based upon quantum search and quantum fourier
2020-03-26 20:35:30 +00:00
transform \cite{nielsen_chuang_2010}. The latter is particularly interesting for
2020-03-23 15:02:07 +00:00
physical problems as it is a key component in the phase estimation algorithm
that can be used to analyze the spectrum of the transfer matrix:
2020-02-19 11:36:56 +00:00
\begin{equation}
T = \exp(itH)
\end{equation}
2020-03-23 15:02:07 +00:00
The spectrum of $T$ can now be estimated by using the phase estimation circuit
2020-02-19 11:36:56 +00:00
\[
\Qcircuit @C=1em @R=.7em {
& \lstick{\ket{0}} & {/^N} \qw & \gate{H^{\otimes n}} & \ctrl{1} & \gate{FT^\dagger} & \qw & \meter & \rstick{x}\\
2020-03-05 09:48:13 +00:00
& \lstick{\ket{\varphi}} & {/} \qw & \qw & \gate{T} & \qw & {/} \qw & \qw& \rstick{\ket{\varphi}.} \\
2020-02-19 11:36:56 +00:00
}
\]
2020-03-23 15:02:07 +00:00
Where $T\ket{\varphi} = \exp(2\pi i\varphi) \ket{\varphi}$ and the measurement
result $\tilde{\varphi} = \frac{x}{2^n}$ is an estimation for $\varphi$. If
a success rate of $1-\epsilon$ and an accuracy of $| \varphi - \tilde{\varphi}
| < 2^{-m}$ is wanted, then $N = m + \log_2(2 + \frac{1}{2\epsilon})$ qbits are
required \cite{nielsen_chuang_2010}\cite{lehner2019}.
2020-01-29 10:19:13 +00:00
2020-03-23 15:02:07 +00:00
%Another possible way to use quantum computers in physics is to simulate a system's
%time evolution using the transfer matrix. By mapping an interesting system to
%the qbit space and applying the