bachelor_thesis/presentation/main.tex

936 lines
33 KiB
TeX
Raw Normal View History

2020-02-25 13:21:31 +00:00
\documentclass[10pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{amssymb, amsthm}
\usepackage{setspace}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{geometry}
\usepackage{enumerate}
\usepackage{physics}
\usepackage{listings}
%\usepackage{struktex}
\usepackage{qcircuit}
2020-02-28 15:09:51 +00:00
\usepackage{adjustbox}
2020-03-05 13:23:00 +00:00
\usepackage{tikz}
2020-02-25 13:21:31 +00:00
2020-02-28 15:09:51 +00:00
\usetheme{metropolis}
2020-02-25 13:21:31 +00:00
\setbeamercolor{background canvas}{bg=white!20}
\title{An Efficient Quantum Computing Simulator using a Graphical Description for Many-Qbit Systems}
\subtitle{Simulation in the Stabilizer Formalism}
\author{Daniel Knüttel}
\date{21.02.2020}
\institute{Universität Regensburg}
\titlegraphic{\small\center Universität Regensburg\\
Faculty of the Institute of Theoretical Physics
\vspace{-11mm}\flushright\includegraphics[height=1.0cm]{logo.png}}
%\logo{\includegraphics[width=1cm]{logo.png}\hfill}
%\newcommand{\nologo}{\setbeamertemplate{logo}{}} % command to set the logo to nothing
%\newcommand{\congress}{Faculty of the Institute of Theoretical Physics}
%% footer
\makeatletter
\setbeamertemplate{footline}
{
%\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.9\paperwidth,ht=2.25ex,dp=1ex,left]{Faculty of the Institute of Theoretical Physics}%
\end{beamercolorbox}%
\begin{beamercolorbox}[wd=.1\paperwidth,ht=2.25ex,dp=1ex,right]{Faculty of the Institute of Theoretical Physics}%
\insertframenumber{} / \inserttotalframenumber\hspace*{2ex}
\end{beamercolorbox}}%
}
\makeatother
\begin{document}
\maketitle
\section{Introduction}
{
\begin{frame}{Motivation}
\begin{itemize}
\item Some (physical) problems are classically hard to solve.
2020-03-09 13:40:49 +00:00
%\pause
2020-02-25 13:21:31 +00:00
\item The quantum simulator: Mapping a hard problem to quantum hardware that can simulate this specific problem.
2020-03-09 13:40:49 +00:00
%\pause
2020-02-25 13:21:31 +00:00
\item The (universal) quantum computer: able to simulate any unitary transformation on the system.
\end{itemize}
\end{frame}
}
{
\begin{frame}{Quantum Errors and Quantum Error Correction}
\begin{itemize}
\item Quantum systems at non-zero temperature often have dephasing effects and a finite population lifetime (relaxation).
2020-03-09 13:40:49 +00:00
%\pause
2020-02-25 13:21:31 +00:00
\item Fault tolerant QC needs a way to correct for those errors.
2020-03-09 13:40:49 +00:00
%\pause
2020-03-03 10:12:52 +00:00
\item Several strategies exist; one important class of quantum error correction codes are \textbf{stabilizer codes}.
2020-02-25 13:21:31 +00:00
\end{itemize}
\end{frame}
}
\section{Binary Quantum Computing}
{
\begin{frame}{Qbits}
2020-02-28 15:09:51 +00:00
\textbf{Definition}
{\itshape
2020-02-25 13:21:31 +00:00
A qbit is a two-level quantum mechanical system $\ket{0}, \ket{1}$ with $\braket{0}{1} = 0$.
2020-02-28 15:09:51 +00:00
In the following $Z = \sigma_Z, X = \sigma_X, Y = \sigma_Y$ will be used. $I$ is the identity matrix.
}
2020-02-25 13:21:31 +00:00
Where $Z\ket{0} = +1\ket{0}$ and $Z\ket{1} = -1\ket{1}$.
\end{frame}
}
2020-02-28 15:09:51 +00:00
{
\begin{frame}{Qbits and Gates}
\begin{itemize}
\item{
\textbf{Postulate}
{\itshape
A $n$-qbit system is the tensor product of the single-qbit systems.
}
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
%\item{
% For $n$ qbits define the integer state $\ket{j}$ as
% \begin{equation}
% \ket{j} := \ket{\mbox{0b}i_0i_1...i_{n-1}} := \ket{i_0}_s \otimes \ket{i_1}_s \otimes ... \otimes \ket{i_{n-1}}_s
% \end{equation}
%}
\item{
A transformation $U \in SU(2^n)$ is called \textit{gate} acting on the system.
For $\bar{U} \in SU(2)$ the gate $U_i$ acting on qbit $i$ is given by
\begin{equation}
U_i := \left(\bigotimes\limits_{k < i} I\right) \otimes \bar{U} \otimes \left(\bigotimes\limits_{k > i} I\right)
\end{equation}
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
For $\bar{U} \in SU(2)$ and qbits $i \neq j$
\begin{equation}
CU_{i,j} := \ket{1}\bra{1}_j \otimes U_i + \ket{0}\bra{0}_j \otimes I
\end{equation}
is the controlled $\ket{U}$ gate acting on $i$ with control-qbit $j$.
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\end{itemize}
\end{frame}
}
{
\begin{frame}{Gates}
Some notable gates are
\begin{itemize}
\item{
the Hadamard gate
\begin{equation}
H := \frac{1}{\sqrt{2}}\left(\begin{array}{cc} 1 & 1 \\ 1 & -1\end{array}\right)
\end{equation}
which transforms from the $Z$ to the $X$ basis}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{the rotation gate
\begin{equation}
R_{\phi} := \left(\begin{array}{cc} 1 & 0 \\ 0 & \exp(i\phi)\end{array}\right)
\end{equation}
that performs a rotation around the $Z$ axis.}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\end{itemize}
\end{frame}
}
{
\begin{frame}{Gates}
\begin{itemize}
\item{The $Z$ and $S$ gates are given by:
\begin{equation}
Z := \left(\begin{array}{cc} 1 & 0 \\ 0 & -1\end{array}\right) = R_{\pi}
\end{equation}
\begin{equation}
S := \left(\begin{array}{cc} 1 & 0 \\ 0 & i\end{array}\right) = R_{\frac{\pi}{2}}
\end{equation}
The $S$ gate transforms from $X$ to $Y$ basis.
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
\textbf{Theorem}
{\itshape
Any gate $U \in SU(2^n)$ can be approximated arbitrarely good using the $H$, $R_\phi$
and $CZ_{i,j}$ gate.
}
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Integer States}
\begin{itemize}
\item{
The eigenstates of the $Z_i$ are called integer states. They have the form
\begin{equation}
\ket{j} = \ket{\mbox{0b}l_1...l_n} = \ket{l_1}_s \otimes ... \otimes \ket{l_n}s
\end{equation}
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
For $n$ qbits there exist $2^n$ such states and they form a basis
\begin{equation}
\ket{\psi} = \sum\limits_{i=0}^{n-1} \ket{i}\braket{i}{\psi} = \sum\limits_{i=0}^{n-1} c_i\ket{i}
\end{equation}
with the condition $\sum\limits_{i=0}^{n-1} c_i^2 = 1$.
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Measurement}
\begin{itemize}
\item{Measurements are performed in $Z$ basis, i.e. for a qbit $i$
$Z_i$ is measured.
}
\item{
The results of the measurements are associated with a classical result $s \in \{0, 1\}$
using
\begin{equation}
Z_i\ket{\psi'} = (-1)^s \ket{\psi'}
\end{equation}
after the measurement.
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Quantum Circuits}
\begin{itemize}
\item{
Writing a unitary transformation as a product of the generator gates is unreadable.
To fix this problem quantum circuits have been introduced.
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
Qbits are represented by horizontal lines.
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
Gates acting on a qbit are boxes on the lines.
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
Control-qbits are connected to the gate via a vertical line.
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
Circuits are read left to right.
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
Example:
\Qcircuit @C=1em @R=.7em {
& \gate{H} & \ctrl{1} & \qw &\qw \\
& \gate{H} & \gate{Z} & \gate{H} &\qw \\
}
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Case Study: Spin Chain in a Magnetic Field}
\begin{itemize}
\item{
For a set of $n$ spins in a magnetic field one can rescale the Hamiltonian
of the system to
\begin{equation}
H = -\sum\limits_{i=1}^{n-1} Z_i Z_{i-1} + g\sum\limits_{i=0}^{n-1} X_i
\end{equation}
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
The time evolution of such a system is given by the transfer matrix
\begin{equation}
T := \exp(-itH) \in SU(2^n)
\end{equation}
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
By associating every qbit with one spin (both are two-level systems)
one should be able to simulate the behaviour of the spin chain using
a quantum computer.
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Case Study: Spin Chain in a Magnetic Field}
\begin{itemize}
\item{
Trotterizing the matrix exponential
\begin{equation}
\exp(t(A + B)) = \left(\exp(\frac{t}{N}A)\exp(\frac{t}{N}B)\right)^N + \mathcal{O}\left(\frac{t^2}{N^2}\right)
\end{equation}
}
\item{
For $n=3$ spins one gets a circuit
{\centering\adjustbox{max width=\textwidth}{
\Qcircuit @C=1em @R=.7em {
& \qw & \gate{X} & \gate{R_{-\frac{t}{2N}}} & \gate{X} & \gate{R_{\frac{t}{2N}}} & \gate{X} & \gate{X} & \qw & \qw & \qw & \qw & \qw & \qw & \qw & \gate{H} & \gate{R_{-2\frac{gt}{2N}}} & \gate{H} & \gate{R_{\frac{gt}{2N}}} & \gate{X} & \gate{R_{\frac{gt}{2N}}} & \gate{X} & \gate{X} & \gate{R_{-\frac{t}{2N}}} & \gate{X} & \gate{R_{\frac{t}{2N}}} & \gate{X} & \gate{X} & \qw & \qw & \qw & \qw & \qw & \qw & \qw &\qw \\
& \qw & \ctrl{-1} & \qw & \qw & \qw & \qw & \ctrl{-1} & \qw & \gate{X} & \gate{R_{-\frac{t}{2N}}} & \gate{X} & \gate{R_{\frac{t}{2N}}} & \gate{X} & \gate{X} & \gate{H} & \gate{R_{-2\frac{gt}{2N}}} & \gate{H} & \gate{R_{\frac{gt}{2N}}} & \gate{X} & \gate{R_{\frac{gt}{2N}}} & \gate{X} & \ctrl{-1} & \qw & \qw & \qw & \qw & \ctrl{-1} & \qw & \gate{X} & \gate{R_{-\frac{t}{2N}}} & \gate{X} & \gate{R_{\frac{t}{2N}}} & \gate{X} & \gate{X} &\qw \\
& \qw & \qw & \qw & \qw & \qw & \qw & \qw & \qw & \ctrl{-1} & \qw & \qw & \qw & \qw & \ctrl{-1} & \gate{H} & \gate{R_{-2\frac{gt}{2N}}} & \gate{H} & \gate{R_{\frac{gt}{2N}}} & \gate{X} & \gate{R_{\frac{gt}{2N}}} & \gate{X} & \qw & \qw & \qw & \qw & \qw & \qw & \qw & \ctrl{-1} & \qw & \qw & \qw & \qw & \ctrl{-1} &\qw \\
}
}}
}
\item{Applying this circuit $N$ times gives an approximation for the time evolution of a state.}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Case Study: Spin Chain in a Magnetic Field}
\begin{figure}[h]
\begin{center}
\includegraphics[width=\linewidth]{spin_chain/time_evo_6spin_g3.png}
\end{center}
\end{figure}
\end{frame}
}
\section{Stabilizers}
{
\begin{frame}{The multilocal Pauli Group and the Clifford Group}
\begin{itemize}
\item{\textbf{Definition}
{\itshape
2020-03-09 13:33:39 +00:00
$P := \{\pm1X, \pm1Y, \pm1Z, \pm1I, \pm iX, \pm iY, \pm iZ, \pm iI\}$ (with the matrix product)
is called the Pauli group.\\
2020-02-28 15:09:51 +00:00
$P_n := \left\{p_1 \otimes ... \otimes p_n \middle| p_i \in P \right\}$ is called the multilocal Pauli group.
}}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
\textbf{Definition}
{\itshape
$C_n := \left\{U \in SU(2^n) \middle| \forall p \in P_n: U^\dagger p U \in P_n\right\}$
is called the Clifford group
}
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
One can show that $C_n$ is generated by $H, S, CZ_{i,j}$.
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Generators of a Group}
\begin{itemize}
\item{
\textbf{Definition}
{\itshape
For a finite group $G$ one says $G$ is generated by $g_1, ..., g_N$ iff any $g \in G$ can be expressed
as a product of $g_1, ..., g_N$. These generators are chosen to be the minimal set for which this
condition holds.
One also writes
\begin{equation}
G = \langle g_1,...,g_N \rangle \equiv \langle g_i\rangle_i
\end{equation}
}
}
\item{
The generators are not unique. For instance $C_1$ can be generated using $H, S$ or $\sqrt{-iX}, \sqrt{iZ}$.
}
2020-03-09 13:40:49 +00:00
%\pause
2020-02-28 15:09:51 +00:00
\item{
The generators of a group have some kind of independence property.
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Stabilizers and Stabilizer Spaces}
\begin{itemize}
\item{
\textbf{Definition}
{\itshape
A finite abelian subgroup $S$ of $P_n$ is called a set of stabilizers iff $-I \notin S$ and
all elements of $S$ commute.
}
}
\item{
From $-I \notin S$ follows that all elements of $S$ are hermitian.
}
\item{
From the definition as tensor products of Pauli matrices follows that the
elements of $S$ have eigenvalues $\pm1$.
}
\item{
These properties together yield that all elements of $S$ can be diagonalized simultaneously.
Further there exists a vector space $V_S$ with $s \ket{\psi} = +1 \ket{\psi}$ for all $s \in S$
and all $\ket{\psi} \in V_S$. This space is called the stabilizer space of $S$
and all $\ket{\psi}$ are called stabilizer states.
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Stabilizer States}
\begin{itemize}
\item{
One can show that for $S = \langle S^{(i)} \rangle_{i=1,...,n}$ the stabilizer space $V_S$
has dimension $1$.
}
\item{
Therefore the state $\ket{\psi}$ that is the +1 eigenstate of all stabilizers is (up to a
global phase) unique.
}
\item{Notable stabilizer states are:
\begin{itemize}
\item{ $\ket{0b0..0} = \ket{0}\otimes ... \otimes \ket{0}$ and $\ket{0b1..1} = \ket{1}\otimes ... \otimes \ket{1}$
which are stabilized by $\langle Z_i \rangle_i$ and $\langle -Z_i \rangle_i$ respectively.
}
\item{
$\ket{+}$ stabilized by $\langle X_i \rangle_i$ (and $\ket{-}$ analogously).
}
\item{
2020-03-09 13:33:39 +00:00
$\frac{\ket{0b00} + \ket{0b11}}{\sqrt{2}}$ the Bell/EPR state which is stabilized by $\langle X_1X_2, Z_1Z_2\rangle$.
2020-02-28 15:09:51 +00:00
}
\end{itemize}
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Dynamics of Stabilizer States}
\begin{itemize}
\item{
Under a transformation $U \in SU(2^n)$ the state changes to
\begin{equation}
\ket{\psi'} = U \ket{\psi}
\end{equation}
}
\item{
The stabilizers of $\ket{\psi}$ change to
\begin{equation}
\ket{\psi'} = U\ket{\psi} = US^{(i)}\ket{\psi} = US^{(i)}U^\dagger U\ket{\psi} = US^{(i)}U^\dagger\ket{\psi'}
\end{equation}
2020-03-03 10:12:52 +00:00
using this it is clear that for $U \in C_n$ the state $\ket{\psi'}$ is a stabilizer state again with the stabilizers
2020-02-28 15:09:51 +00:00
$S' = \langle US^{(i)}U^\dagger\rangle_{i=1,...,n}$
}
\item{
Under the transformations $C_n$ one can describe the dynamics of the stabilizer states by their
stabilizers.
}
\item{Because the stabilizers are given by $n$ matrices which are the tensor product of $n$ Pauli matrices
2020-03-03 10:12:52 +00:00
this can be simulated in $\mathcal{O}\left(n^2\right)$ time instead of $\mathcal{O}\left(2^n\right)$.}
2020-02-28 15:09:51 +00:00
\end{itemize}
\end{frame}
}
{
\begin{frame}{Measurements on Stabilizer States}
\begin{itemize}
\item{
2020-03-03 10:12:52 +00:00
Consider a Pauli observable $g_a \in \{(-1)^s X_a, (-1)^s Y_a, (-1)^s Z_a\}$ and the projector
onto its eigenspace $\frac{I + g_a}{2}$.
}
\item{If $g_a$ commutes with all $S^{(i)}$ the observable $g_a$ is diagonal in this basis and
the stabilizer state $\ket{\psi}$ is the $+1$ eigenstate of $g_a$. Therefore the measurement is
deterministic and the stabilizers remain unchanged.}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Measurements on Stabilizer States}
\begin{itemize}
\item{If $g_a$ does not commute with all stabilizers $A := \left\{S^{(i)} \middle| \left[g_a, S^{(i)}\right] \neq 0\right\}$
is the set of stabilizers that anticommute with $g_a$.}
\item{
To compute the probability to measure a result of $s=0$ one can use the trace formula
\begin{equation}
\begin{aligned}
2020-03-11 09:48:51 +00:00
P(s=0) &= \left|\Tr(\frac{I + g_a}{2} \ket{\psi}\bra{\psi})\right| \\
&= \left|\Tr(\frac{I + g_a}{2} S^{(j)} \ket{\psi}\bra{\psi})\right| \\
&= \left|\Tr(S^{(j)}\frac{I - g_a}{2} \ket{\psi}\bra{\psi})\right| \\
&= \left|\Tr(\frac{I - g_a}{2} \ket{\psi}\bra{\psi})\right| \\
2020-03-03 10:12:52 +00:00
&= P(s=1)\\
\end{aligned}
\end{equation}
where $S^{(j)} \in A$. The stabilizer $S^{(j)}$ pulled to the right using the cyclic property of the
trace and absorbed into the $\bra{\psi}$.
2020-02-28 15:09:51 +00:00
}
\end{itemize}
\end{frame}
}
2020-03-09 13:33:39 +00:00
{
\begin{frame}{Measurements on Stabilizer States}
\begin{itemize}
\item{As the stabilizers and the observable are both multilocal Pauli operators
they either commute or anticommute.}
\item{Let $S^{(i)}, S^{(j)} \in A$ then
\begin{equation}
\begin{aligned}
\ket{\psi'} &= \frac{I + g_a}{2} \ket{\psi}\\
&= \frac{I + g_a}{2}S^{(i)}S^{(j)}\ket{\psi}\\
&= S^{(i)}\frac{I - g_a}{2}S^{(j)}\ket{\psi}\\
&= S^{(i)}S^{(j)}\frac{I + g_a}{2}\ket{\psi}.\\
\end{aligned}
\end{equation}
I.e. the new state is stabilized by the product $S^{(i)}S^{(j)}$.}
\item{
This yields that the new state is stabilized by
\begin{equation}
\langle \{g_a\} \cup \{S^{(j)}S^{(i)} | S^{(i)} \in A \setminus \{S^{(j)}\} \rangle.
\end{equation}
}
\end{itemize}
\end{frame}
}
2020-03-05 13:23:00 +00:00
\section{Graphical Description of Stabilizer States}
{
\begin{frame}{Graphs}
\begin{itemize}
\item{\textbf{Definition}
{\itshape
The tuple $(V, E)$ is called a graph iff $V$ is a set of vertices with $|V| = n \in \mathbb{N}$ elements.
In the following $V = \{0, ..., n-1\}$ will be used.
$E$ is the set of edges $E \subset \left\{\{i, j\} \middle| i,j \in V, i \neq j\right\}$.
}}
\item{
Example for a valid graph:\\
\includegraphics[width=\linewidth,height=0.5\textheight,keepaspectratio]{graphs/valid_graph.png}
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{ VOP-free Graph States}
\begin{itemize}
\item{\textbf{Definition}
{\itshape
For $G = (V,E)$, $i \in V$ define
\begin{equation}
K_G^{(i)} := X_i \prod\limits_{\{i,j\} \in E} Z_j
\end{equation}
the stabilizers associated with the graph $G$.
}}
\item{
The state stabilized by all $K_G^{(i)}$ is
\begin{equation}
\ket{\bar{G}} = \prod\limits_{\{i,j\} \in E} CZ_{i,j} \ket{+}.
\end{equation}
This state is called vertex operator-free (VOP-free) graph state.
}
\item{
Applying a $CZ_{i,j}$ gate toggles the edge $\{i,j\}$ in $E$.
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Dynamics of VOP-free Graph States}
\begin{itemize}
\item{
For $a \in V$ the transformation
\begin{equation}
M_a := \sqrt{-iX_i} \prod\limits_{\{i,j\} \in E} \sqrt{iZ_j}
\end{equation}
toggles the neighbourhood $n_a := \left\{ j \middle| \{a,j\} \in E\right\}$
2020-03-09 13:33:39 +00:00
of $a$. I.e. it toggles the edges $n_a \otimes n_a$.
2020-03-05 13:23:00 +00:00
}
\item{
Many Clifford operations cannot be described by the VOP-free graph states.\\
Example:
\begin{equation}
2020-03-07 13:51:50 +00:00
\begin{aligned}
&G = \left(\{0, 1\}, \{\}\right)\\
&\ket{\bar{G}} = \ket{+}\\
&U = H_0H_1 \\
&U \ket{\bar{G}} = \ket{\mbox{0b}00}\\
\end{aligned}
2020-03-05 13:23:00 +00:00
\end{equation}
}
\end{itemize}
\end{frame}
}
2020-03-09 13:33:39 +00:00
{
\begin{frame}{Graph States}
\begin{itemize}
\item{\textbf{Definition}
{\itshape
$(V, E, O)$ is called a graph with vertex operators (VOPs) iff $(V,E)$ is a
graph as in the definition above and $O = (o_1, ..., o_n)$ where
the $o_i \in C_1$.
The Stabilizers are given by
\begin{equation}
\left(\bigotimes\limits_{i} o_i\right) K_G^{(i)} \left(\bigotimes\limits_{i} o_i\right)^\dagger
\end{equation}
and the stabilizer state is
\begin{equation}
\ket{G} = \left(\bigotimes\limits_{i} o_i\right) \ket{\bar{G}}.
\end{equation}
}}
\item{One can show that there exist $24$ local Clifford gates. Therefore $O$
can be represented by $n$ integers from $0$ to $23$.}
\item{It is clear that any single qbit Clifford gate changes the VOPs
to $o_i \rightarrow c_i o_i$.}
\end{itemize}
\end{frame}
}
{
\begin{frame}{The $CZ$ Gate on Graph States}
\begin{itemize}
\item{As it is clear how local Clifford gates act on a graph state it is
enough to show how a $CZ$ gate acts on the graph states to proof that
any Clifford gate can be applied to a graph state.}
\item{Consider the gate $CZ_{a,b}$ for $a,b \in V$.}
\item{If $CZ_{a,b}$ commutes with $o_a$ and $o_b$ the gate just toggles the edge
$\{a,b\}$ in $E$.}
\end{itemize}
\end{frame}
}
{
\begin{frame}{$CZ$ on Two Qbits}
\begin{itemize}
\item{If the vertices are a clique (i.e. are connected only to each other) or
are isolated they separate from the rest of the state. In this case
one can consider just the space of two qbits.
}
\item{
The amount of stabilizer states on these two qbits is finite. An upper bound
is given by $2\cdot24^2$, i.e. $24$ Clifford operators on each vertex and
the graph with or without and edge.
}
\item{All those states and the result after applying a $CZ$ gate can be
computed.}
\item{If one vertex has the VOP $I$ the result can be chosen
such that the VOP remains $I$.}
\item{This is used to implement the $CZ$ on isolated (or 2-clique) vertices.}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Clearing Vertex Operators}
\begin{itemize}
\item{Recalling the transformation $M_a$ it is clear that the
graph state $\ket{G}$ is invariant under this transformation:
\begin{enumerate}[1]
\item Toggle the neighbourhood of $a$.
\item Right-multiply $M_a^\dagger$ to the VOPs.
\end{enumerate}
This transformation is called $L_a$.
}
\item{Using $\sqrt{-iX}$ and $\sqrt{iZ}$ as generators of $C_1$ one can
express any VOP as a product of $\sqrt{-iX},\sqrt{iZ}$.}
\item{Let the vertex $a$ have a neighbour $j \neq b$, then the VOP
on $a$ can be reduced to the identity by moving from right to left through the
product and applying $L_a$ for a $\sqrt{-iX}$ and $L_i$ for a $\sqrt{iZ}$.}
\item{Any vertex $j \in n_a \setminus \{i\}$ picks up powers of $\sqrt{iZ}$ during this
operation. As $\sqrt{iZ}$ commutes with $CZ$ this is no problem.}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Clearing Vertex Operators to Apply a $CZ$}
\begin{itemize}
\item{The VOP on $a$ ($b$) can be cleared if $a$ ($b$) has at least one
neighbour that is not $b$ ($a$).}
\item{To apply a $CZ_{a,b}$ use the following algorithm to clear the
VOPs as much as possible:
\begin{enumerate}[1]
\item Try to clear the VOP of $a$.
\item{ Try to clear the VOP on $b$.}
\item{If the VOP of $a$ wasn't clear yet, try to clear it again.}
\end{enumerate}
}
\item{After this procedure it is certain that at least one VOP is $I$
and possibly both VOPs commute with $CZ$. If they both commute
applying the $CZ$ is done by toggling the edge $\{a,b\}$.
}
\item{If one VOP does not commute with $CZ$ this vertex is either isolated
or connected to the other operand vertex only. One can show that the
two qbit $CZ$ method can be applied here if the identity on the vertex
connected to the rest of the graph is preserved.}
\end{itemize}
\end{frame}
}
2020-03-09 14:29:32 +00:00
{
\begin{frame}{Clearing VOPs: Example}
\begin{itemize}
\item{Vertex operators are represented by an integer; most of the VOPs are not important.}
\item{Some notable VOPs are $0 = H$, $1 = S$, $2 = I$, $19 = \sqrt{iZ}^2\sqrt{-iX}^3$.}
\item{
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_01.png}
Clearing the VOP on vertex $1$ uses the transformation $La(1) La(1) La(1) La(2) La(2)$.
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Clearing VOPs: Example}
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_01.png}
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_02.png}
\end{frame}
}
{
\begin{frame}{Clearing VOPs: Example}
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_02.png}
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_03.png}
\end{frame}
}
{
\begin{frame}{Clearing VOPs: Example}
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_03.png}
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_04.png}
\end{frame}
}
{
\begin{frame}{Clearing VOPs: Example}
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_04.png}
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_05.png}
\end{frame}
}
{
\begin{frame}{Clearing VOPs: Example}
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_05.png}
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_06.png}
\end{frame}
}
{
\begin{frame}{Clearing VOPs: Example}
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_01.png}
\includegraphics[width=0.5\textwidth]{graphs/clear_vop_06.png}
\end{frame}
}
2020-03-09 13:33:39 +00:00
{
\begin{frame}{Measurements on Graph States}
\begin{itemize}
\item{When measuring $Z_a$ the projector $P_a := \frac{I \pm Z_a}{a}$ can be
pulled behind the vertex operator $o_a$ by transforming the observable:
\begin{equation}
\begin{aligned}
2020-03-11 09:48:51 +00:00
P_a \ket{G} &= \left(\prod\limits_{i \neq a} o_i\right) P_a o_a \ket{\bar{G}} \\
&= \left(\prod\limits_{i \neq a} o_i\right) o_a o_a^\dagger P_a o_a \ket{\bar{G}} \\
&= \left(\prod\limits_{i} o_i \right) \tilde{P}_a \ket{\bar{G}}\\
2020-03-09 13:33:39 +00:00
\end{aligned}
\end{equation}
With a new projector $\tilde{P}_a = \frac{I + g_a}{2}$.
}
2020-03-11 09:48:51 +00:00
\end{itemize}
\end{frame}
}
{
\begin{frame}{Measurements on Graph States}
\begin{itemize}
2020-03-09 13:33:39 +00:00
\item{The anticommuting stabilizers are given by
\begin{itemize}
\item{$A_X = \{K_G^{(i)} | i \in n_a\}$ for $g_a = \pm X_a$,}
2020-03-11 09:48:51 +00:00
\item{$A_Y = \{K_G^{(i)} | i \in n_a \cup \{a\}\}$ for $g_a = \pm Y_a$ and}
\item{$A_Z = \{K_G^{(a)}\}$ for $g_a = \pm Z_a$.}
2020-03-09 13:33:39 +00:00
\end{itemize}}
\item{This can be used to compute the probability amplitudes and update $(G,V,E)$ after
the measurement.}
\end{itemize}
\end{frame}
}
\section{Implementation and Performance}
{
\begin{frame}{Implementation}
\begin{itemize}
\item{Both a dense vector simulator and a simulator using the graphical
representation have been implemented in the \lstinline{python3} package
\lstinline{pyqcs}.}
\item{To increase simulation efficiency the core of both simulators has been
implemented in \lstinline{C}.}
\item{The dense vector states are stored in \lstinline{numpy} arrays.}
\item{The graph is stored in an length $n$ array of linked lists. The vertex operators
are stored in a \lstinline{uint8_t} array.}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Performance: Dense Vector vs. Graphical Representation}
\includegraphics[width=\textwidth]{../performance/scaling_qbits_linear.png}
\end{frame}
}
{
\begin{frame}{Performance: Dense Vector vs. Graphical Representation}
\includegraphics[width=\textwidth]{../performance/scaling_qbits_log.png}
\end{frame}
}
{
\begin{frame}{Performance: Circuit Length on Graphical Representation}
\includegraphics[width=\textwidth]{../performance/scaling_circuits_linear.png}
\end{frame}
}
{
\begin{frame}{Performance: Circuit Length on Graphical Representation}
\begin{itemize}
\item{There seem to be three regimes: Low-linear regime, intermediate regime and high-linear regime.}
\item{In the low-linear regime only few VOPs have to be cleared.
The length of this regime increases with the number of qbits.
}
\item{In the high-linear regime the neighbourhoods are big; the probability that VOPs
must be cleared is high. Clearing VOPs involves many vertices.}
\item{The intermediate is dominated by growing neighbourhoods $\Rightarrow$
no linear behaviour.}
\end{itemize}
\end{frame}
}
2020-03-09 15:41:26 +00:00
\section{Conclusion and Outlook}
{
\begin{frame}{Properties of Stabilizer States}
\begin{itemize}
\item{Stabilizer states support entanglement; One example is the Bell state $\frac{\ket{\mbox{0b}00} + \ket{\mbox{0b}11}}{\sqrt{2}}$.}
\item{Some forms of superposition exist in the stabilizer formalism.}
\item{Stabilizer states and their dynamics (including measurement) can be simulated exponentiallly faster than dense state vectors.}
\end{itemize}
\end{frame}
}
2020-03-09 13:33:39 +00:00
{
\begin{frame}{Non-Universality}
\begin{itemize}
\item{Recalling the discussion around measurement in the stabilizer formalism
only probability amplitudes $0, \frac{1}{2}, 1$ are possible for any Pauli
observable.}
\item{As seen in the example simulation of a spin chain other probability amplitudes
are important and particularely interesting.}
\item{Only few unitaries and states can be simulated.}
\item{The stabilizers have lost the vector space property:
only special superpositions are allowed.}
\end{itemize}
\end{frame}
}
{
{
\begin{frame}{Possible Ways of Extending the Formalism I}
\begin{itemize}
\item{One possible way would be to use more qbits to increase the
amount of possible measurement outcomes.}
\item{One could describe the evolution of a general hermitian unitary
by expressing it as a sum of multilocal Pauli operators. Applying
non-Clifford gates would reintroduce exponential growth.
}
\end{itemize}
\end{frame}
}
\begin{frame}{Possible Ways of Extending the Formalism II}
\begin{itemize}
\item{The reason why the multilocal Pauli operators can be stored
so efficiently is that they are the tensor product of $SU(2)$ matrices.}
\item{
A key property of the Clifford group is that it preserves this feature:
multilocal Pauli operators are mapped to multilocal Pauli operator, the
result is a tensor product again.
}
\item{One interesting way to search for new/other states and circuits that can
be simulated efficiently would be to check what hermitian matrices
are tensor products of single qbit matrices and what operations would
preserve this property.
}
\end{itemize}
\end{frame}
}
{
\begin{frame}{Possible Ways of Extending the Formalism II}
\begin{itemize}
\item{Single qbit gates will always preserve the tensor product property:
\begin{equation}
g_i' = U_k g_i U_k^\dagger = \left(\bigotimes\limits_{j<k} g_{i,j}\right) \otimes Ug_{i,k}U^\dagger \otimes \left(\bigotimes\limits_{j>k} g_{i,j}\right)
\end{equation}
}
\item{It would probably be enough to search for matrices $g_1, g_2$
for which
\begin{equation}
CX_{1,2} (g_1 \otimes g_2) CX_{1,2} = g_1' \otimes g_2'
\end{equation}
holds. The Pauli matrices are one group that fulfills this property.
}
2020-03-09 15:41:26 +00:00
\item{It is not immideately clear how measurement would work.}
2020-03-09 13:33:39 +00:00
\end{itemize}
\end{frame}
}
2020-02-25 13:21:31 +00:00
\end{document}