\documentclass[10pt]{beamer}

\usepackage[utf8]{inputenc} 
\usepackage{graphicx} 
\usepackage{amssymb, amsthm}
\usepackage{setspace} 
\usepackage{amsmath} 
\usepackage{hyperref}
\usepackage{url}
\usepackage{geometry} 
\usepackage{enumerate}
\usepackage{physics}
\usepackage{listings}
%\usepackage{struktex}
\usepackage{qcircuit}
\usepackage{adjustbox}
\usepackage{tikz}
\usepackage{calc}
\usetikzlibrary{calc}


\usetheme{metropolis}

\setbeamercolor{background canvas}{bg=white!20}

\title{An Efficient Quantum Computing Simulator using a Graphical Description for Many-Qbit Systems}
\subtitle{Simulation in the Graph 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}}

\newcommand{\tikzmark}[1]{\tikz[overlay,remember picture] \node (#1) {};}
\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}}%
  
}


\NewDocumentCommand{\DrawBox}{s O{}}{%
    \tikz[overlay,remember picture]{
    \IfBooleanTF{#1}{%
        \coordinate (RightPoint) at ($(left |- right)+(\linewidth-\labelsep-\labelwidth,0.0)$);
    }{%
        \coordinate (RightPoint) at (right.east);
    }%
    \draw[black,#2]
      ($(left)+(-0.2em,0.9em)$) rectangle
      ($(RightPoint)+(0.2em,-0.3em)$);}
}

\makeatother

\begin{document}

\maketitle

\section{Introduction}

{
\begin{frame}{Motivation: Exponentially Hard (Physical) Problems}
    \begin{itemize}
        \item{Some mathematical problems cannot be solved in polynomial time, for instance prime factorization.}
        \item{There exist several physical systems which are interesting to study but hard so simulate such as
            QCD simulations at finite chemical potential or real time scattering amplitudes in QCD.}
        \item{The exponential behaviour in time (and space) complexity brings classical supercomputers to their limits.}
    \end{itemize}
\end{frame}
}


{
\begin{frame}{The Universal Quantum Computer}
    \begin{itemize}
        % 2^n complex vector, arbitrary unitary, measurements
        \item{A universal quantum computer is a $2^n$ dimensional complex vector
            to which any unitary can be applied with a quantum mechanical measurement process.}
        \item{Algorithms using the exponentially large Hilbert space can 
            solve some classically exponentially hard problems in polynomial time.}
    \end{itemize}

\end{frame}
}
{
\begin{frame}{Motivation: Using Quantum Computing for Physics}
    \begin{itemize}
        % Literaturübersicht.
        \item{
            Possible applications of quantum computing include:
            \begin{itemize}
                \item{Preparing ground states of non-perturbative systems by adiabatic
                        time evolution (\textit{https://www.scottaaronson.com/qclec/26.pdf}).\\
                    Also works in QCD (\textit{arXiv:2001.11145v1}).}
                %\item{Use algorithms such as Phase Estimation to analyze the spectrum
                %    of a system.}
                \item{Study the time evolution by applying the transfer matrix (\textit{see later}).}
                \item{Compute trace formuli (\textit{arXiv:2001.11145v1}).}
            \end{itemize}
        }
        % Future use & current use.
        % (Tensor networks)
        \item{
            In the near future only small and noisy machines will be available.
            Some Hilbert spaces have infinite dimension (bosonic states).
            Two main strategies exist to deal with this problem:
            \begin{itemize}
                \item{Selecting a physically interesting subspace.
                        % (tensor networks)
                    }
                \item{Dividing the Hilbert space in system and bath, treating
                    the bath statistically (\textit{Andreas Hackl}).}
            \end{itemize}
        }
        \item{
            Long Term: Fault tolerant computing.
            }
    
    \end{itemize}
\end{frame}
}


\section{Binary Quantum Computing}


{
\begin{frame}{One Qbit}
    \begin{itemize}
        \item{One qbit has the Hilbert space $\mathcal{H}$ with basis vectors $\ket{0}$, $\ket{1}$.}
        \item{The Pauli matrices $X, Y, Z$ are gates commonly used.
            $X$ is also called the $NOT$ gate as it maps $\ket{0}$ to $\ket{1}$ and
            vice versa.
            }
        \item{The Hadamard gate 
            $H = \frac{1}{\sqrt{2}}\left(\begin{array}{cc} 1 & 1 \\ 1 & -1\end{array}\right)$
        transforms from Pauli $Z$ to $X$ basis.}
        \item{The $R_\phi = \left(\begin{array}{cc} 1 & 0 \\ 0 & \exp(i\phi)\end{array}\right)$
            gate rotates a state vector around the $Z$ axis.}
        \item{The $R_{\frac{\pi}{2}}$ gate transforms from $X$ to $Y$ basis.}
    \end{itemize}

\end{frame}
}

{
\begin{frame}{Universal Gates}
    \begin{itemize}
        \item{A quantum computer should be able to simulate any unitary on $\mathcal{H}^{\otimes n}$ the
            $n$ qbit Hilbert space.}
        \item{Similarly to classical computers a universal set of operations is required.}
        
        \item{\tikzmark{left}One can show that any unitary acting on $\mathcal{H}^{\otimes n}$
            can be generated using the $CX$ and universal gates
            acting on $\mathcal{H}$ with
        
            \begin{equation}
                CX_{i,j} = \ket{0}\bra{0}_j \otimes I_i + \ket{1}\bra{1}_j \otimes X_i.
            \end{equation}
        }
        \item{The gates $\{H, R_\phi\}$ are universal on $\mathcal{H}$.\hfill\tikzmark{right}}
        
    \end{itemize}
    \DrawBox
\end{frame}
}

{
\begin{frame}{Measurements and Computational Hardness}
    \begin{itemize}
        \item{When measuring a qbit $i$ the observable $Z_i$ is measured.}
        \item{Operations on the $2^n$ dimensional state will have to update $2^n$ complex
            coefficients. This cannot be performed in $\mbox{poly}(n)$ time.}
    \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}
            }
        %\pause
        \item{
            The time evolution of such a system is given by the transfer matrix
            \begin{equation}
                T := \exp(-itH) \in U(2^n)
            \end{equation}
        }
    %\pause
    \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}
            \begin{aligned}
                \exp(t(A + B)) &= \left(\exp(\frac{t}{2N}A)\exp(\frac{t}{N}B)\exp(\frac{t}{2N}A)\right)^N \\
                                & + \mathcal{O}\left(\frac{t^3}{N^3}\right)\\
            \end{aligned}
            \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 Gottesman-Knill Theorem}
    \begin{itemize}
        \item{When restriciting the $R_\phi$ gate to $\phi = \frac{\pi}{2}$
            many states can still be simulated.}
        \item{\textbf{Theorem}(\textit{Gottesman-Knill}):
            All states that can be reached using $H, R_\frac{\pi}{2}, CZ$ and measurements
            starting from the $\ket{0}^{\otimes n}$ state can be
            \textbf{simulated} and \textbf{sampled efficiently on a classical computer}, i.e. in $\mbox{poly}(n, m)$ time
            where $m$ is the amount of gates/measurements.}
    \end{itemize}

\end{frame}
}
{
\begin{frame}{The Gottesman-Knill Theorem}
    \begin{itemize}
        \item{Note that a general state has $2^n$ complex coefficients. 
            Computing operations on this state is therefore exponentially hard in
            $n$.}
        \item{Note that using the $R_\phi$ is universal and $R_\frac{\pi}{4}$
            allows rational approximations of universal gates.}
        \item{Restricting $\phi$ to $\frac{\pi}{2}$ allows the simulation of
            large numbers of qbits on a classical computer.\\
            {\bf Goal of this project is to create a simulator that can
                simulate several thousand up to millions of qbits.
            }}

    \end{itemize}
\end{frame}
}


{
\begin{frame}{Graphical States}
    \begin{itemize}
        \item{
            For a set of vertices $V = \{0, ..., n-1\}$, some edges
            $E \subset V \otimes V$, and local Clifford operators 
            $O = \{o_0, ..., o_{n-1}\}$ the tuple $(V, E, O)$
            is the graphical representation of a stabilizer state.
        }
        \item{The state associated with $(V, E, O)$ is given by
            \begin{equation}
            \ket{G} = \left(\bigotimes\limits_{i=0}^{n-1} o_i \right) \prod\limits_{\{i,j\} \in E} CZ_{i,j} \ket{+}^{\otimes n}
            \end{equation}
            where $\ket{+} = H\ket{0} = \frac{1}{\sqrt{2}}(\ket{0} + \ket{1})$.
            }
        \item{One can show that all stabilizer states can be brought into this form.}
        \item{For the derivation of the stabilizer and graphical states see my bachelor's thesis.}
    \end{itemize}
\end{frame}
}

{
\begin{frame}{Example: The $5$ Qbit EPR State}
    
    \begin{itemize}
        \item{Start from $\ket{0}^{\otimes 5}$.}
        \item{Get to the state $\ket{\psi} = \frac{\ket{0}^{\otimes 5} + \ket{1}^{\otimes 5}}{\sqrt{2}}$.}
        \item{Use the circuit \\
            \[
            \Qcircuit @C=1em @R=.7em {
            & \gate{H} & \ctrl{1} & \qw & \ctrl{2} & \qw & \ctrl{3} & \qw & \ctrl{4} &\qw \\
            & \qw & \gate{X} & \qw & \qw & \qw & \qw & \qw & \qw &\qw \\
            & \qw & \qw & \qw & \gate{X} & \qw & \qw & \qw & \qw &\qw \\
            & \qw & \qw & \qw & \qw & \qw & \gate{X} & \qw & \qw &\qw \\
            & \qw & \qw & \qw & \qw & \qw & \qw & \qw & \gate{X} &\qw \\
            }.
            \]
        }
        \item{The state has the form
            \begin{equation}
                \ket{\psi} = \left(\prod\limits_{1 < i < 5} CX_{i,0}\right) H_0 \ket{0}^{\otimes 5}.
            \end{equation}}
    \end{itemize}
\end{frame}
}

{
\begin{frame}{Example: The $5$ Qbit EPR State}
    \begin{itemize}
        \item{$CX_{i,j} = H_i CZ_{i,j} H_i$.}
        \item{The new circuit is
            \[
            \Qcircuit @C=1em @R=.7em {
            & \gate{H} & \ctrl{1} & \qw & \ctrl{2} & \qw & \ctrl{3} & \qw & \ctrl{4} & \qw &\qw \\
            & \gate{H} & \gate{Z} & \qw & \qw & \qw & \qw & \qw & \qw & \gate{H} &\qw \\
            & \gate{H} & \qw & \qw & \gate{Z} & \qw & \qw & \qw & \qw & \gate{H} &\qw \\
            & \gate{H} & \qw & \qw & \qw & \qw & \gate{Z} & \qw & \qw & \gate{H} &\qw \\
            & \gate{H} & \qw & \qw & \qw & \qw & \qw & \qw & \gate{Z} & \gate{H} &\qw \\
            }.
            \]
        }
        \item{Switching from starting state $\ket{0}^{\otimes 5}$ to $\ket{+}^{\otimes 5}$ gives the
            graphical representation.}
    \end{itemize}

\end{frame}
}
{
\begin{frame}{Example: The $5$ Qbit EPR State}
    \noindent\begin{minipage}{0.4\textwidth}
    \center
    \adjustbox{max width=\textwidth}{
            \Qcircuit @C=1em @R=.7em {
            & \gate{H} & \ctrl{1} & \qw & \ctrl{2} & \qw & \ctrl{3} & \qw & \ctrl{4} &\qw \\
            & \qw & \gate{X} & \qw & \qw & \qw & \qw & \qw & \qw &\qw \\
            & \qw & \qw & \qw & \gate{X} & \qw & \qw & \qw & \qw &\qw \\
            & \qw & \qw & \qw & \qw & \qw & \gate{X} & \qw & \qw &\qw \\
            & \qw & \qw & \qw & \qw & \qw & \qw & \qw & \gate{X} &\qw \\
            }
    }\\
    \begin{equation}
    \begin{aligned}
        \ket{\psi} &= \left(\prod\limits_{1 < i < 5} CX_{i,0}\right) H_0 \ket{0}^{\otimes n}\\
    \end{aligned}
    \end{equation}
    \end{minipage} \hfill
    \begin{minipage}{0.5\textwidth}
    \center
    \includegraphics[width=\textwidth, height=\textheight, keepaspectratio=true]{example_graphs/graph_EPR_state.png}
    
    The graphical state with $E =\{\{0,1\}, \{0,2\}, \{0,3\}, \{0,4\}\}$ and $O = (I, H, H, H, H)$.

    \begin{equation}
    \begin{aligned}
        \ket{G} = \left(\prod\limits_{1 < i < 5} H_i\right) \left(\prod\limits_{1 < i < 5} CZ_{i,0}\right) \ket{+}^{\otimes n}
    \end{aligned}
    \end{equation}

    \end{minipage} 
\end{frame}
}
{
\begin{frame}{Dynamics of Graphical States}
\begin{itemize}
    \item{
    \noindent\begin{minipage}{0.4\textwidth}
        Applying a local Clifford gate $U_i$ is trivial: 
        Just the vertex operator is updated to $U o_i$.
    \end{minipage} \hfill
    \begin{minipage}{0.5\textwidth}
        \tikzmark{left}Apply $SH = R_{\frac{\pi}{2}}H$ to qbit $2$:\\
        \includegraphics[width=\textwidth, height=\textheight, keepaspectratio=true]{example_graphs/graph_update_VOP.png}\tikzmark{right}
        \DrawBox
    \end{minipage}
    }
    \item{
    \noindent\begin{minipage}{0.4\textwidth}
    If $o_a, o_b \in \{I, Z, R_\frac{\pi}{2}, R_\frac{\pi}{2}^\dagger\}$ applying a $CZ_{a,b}$
    just toggles the edge $\{a,b\}$ in $E$.%: $E' = E \Delta \{\{a,b\}\}$.
    %With the symmetric set difference $\Delta$.
    \end{minipage} \hfill
    \begin{minipage}{0.5\textwidth}
        \tikzmark{left}Apply $CZ_{2,0}$:\\
        \includegraphics[width=\textwidth, height=\textheight, keepaspectratio=true]{example_graphs/graph_apply_CZ.png}\hfill\tikzmark{right}
        \DrawBox
    \end{minipage}
    }
            
\end{itemize}
\end{frame}
}
{
\begin{frame}{Dynamics of Graphical States}
\begin{itemize}
    \item{
    \noindent\begin{minipage}{0.4\textwidth}
        If the vertices $a, b$ are isolated the resulting state after
        applying $CZ_{a,b}$ can be precomputed. 
    \end{minipage} \hfill
    \begin{minipage}{0.5\textwidth}
        \tikzmark{left}Before:\\
        \includegraphics[width=\textwidth, height=0.3\textheight, keepaspectratio=true]{example_graphs/graph_two_qbit_CZ_before.png}\\
        After:\\
        \includegraphics[width=0.5\textwidth, height=0.3\textheight, keepaspectratio=true]{example_graphs/graph_two_qbit_CZ_after.png}\hfill\tikzmark{right}
        \DrawBox
    \end{minipage}
    }
    \item{

        \noindent\begin{minipage}{0.4\textwidth}
        When the VOPs do not commute with $CZ$ and the vertices are not isolated one can clear at least one
        vertex operator (i.e. transforming it to $I$). This changes the neighbourhood of the vertices.
        \end{minipage} \hfill
        \begin{minipage}{0.5\textwidth}
            \tikzmark{left}The starting state:\\
            \includegraphics[width=0.7\textwidth, height=0.5\textheight, keepaspectratio=true]{example_graphs/graph_clear_VOPs_CZ_before.png}\hfill\tikzmark{right}
            \DrawBox
        \end{minipage}
        }
\end{itemize}
\end{frame}
}
{
\begin{frame}{Dynamics of Graphical States}
\begin{itemize}
    \item{
        If both vertex operators can be cleared $\{a,b\}$ is toggled in $E$.
    \noindent\begin{minipage}{0.4\textwidth}
        \tikzmark{left}After clearing vertices $1,2$:\\
        \includegraphics[width=0.7\textwidth, height=0.5\textheight, keepaspectratio=true]{example_graphs/graph_clear_VOPs_CZ_cleared.png}\hfill\tikzmark{right}
        \DrawBox
    \end{minipage} \hfill
    \begin{minipage}{0.4\textwidth}
        \tikzmark{left}Applying $CZ_{2, 1}$:\\
        \includegraphics[width=0.7\textwidth, height=0.5\textheight, keepaspectratio=true]{example_graphs/graph_clear_VOPs_CZ_after.png}\tikzmark{right}
        \DrawBox
    \end{minipage}
        }
    \item{
        If just one vertex operator has been cleared the other vertex is isolated
        and one can precompute all resulting states.}
    \item{One can show that the probability amplitudes when measuring a qbit of a graphical state
        are either $0$, $1$ or $\frac{1}{2}$.}
\end{itemize}
\end{frame}
}


\section{Implementation and Performance}

{
\begin{frame}{Implementation}
    \noindent\begin{minipage}{0.5\textwidth}
    \center
    \includegraphics[width=\textwidth,height=0.8\textheight,keepaspectratio=true]{screenshot_github.png}
    \end{minipage} \hfill
    \begin{minipage}{0.4\textwidth}
    {\small
    \begin{itemize}
        \item{The code is GPLv3.0 licensed.}
        \item{GitHub repository: \url{https://github.com/daknuett/pyqcs}}
        \item{Install it via PyPI: \lstinline{pip3 install pyqcs}}
        \item{The code is tested automatically on TravisCI.}
    \end{itemize}
    }
    \end{minipage}
\end{frame}
}

{
\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.}
        \item{The vertex operators are local Clifford operators. The local Clifford 
                group as $24$ elements, they are represented by integers
            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/regimes/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}
%}

%{
%\begin{frame}{Graph in the Low-Linear Regime}
%    \includegraphics[width=\textwidth]{../thesis/graphics/graph_low_linear_regime.png}
%\end{frame}
%}
%{
%\begin{frame}{Window in a Graph in the Intermediate Regime}
%    \includegraphics[width=\textwidth]{../thesis/graphics/graph_intermediate_regime_cut.png}
%\end{frame}
%}
%{
%\begin{frame}{Window in a Graph in the High-Linear Regime}
%    \includegraphics[width=\textwidth]{../thesis/graphics/graph_high_linear_regime_cut.png}
%\end{frame}
%}

%{
%\begin{frame}{Performance: Circuit Length on Graphical Representation}
%    \begin{itemize}
%        \item{Pauli measurements reduce entanglement entropy.}
%        \item{Pauli measurements reduce the amount of edges in the graph.}
%        \item{When adding measurement to the random circuits the regimes 
%            do not show up.}
%    \end{itemize}
%\end{frame}
%}

{
\begin{frame}{Performance: Circuit Length on Graphical Representation}
    \includegraphics[width=\textwidth]{../performance/regimes/scaling_circuits_measurements_linear.png}
\end{frame}
}

\section{Conclusion and Outlook}

{
\begin{frame}{Performance}
    \begin{itemize}
        \item{Simulation using stabilizers (in particular using the graphical representation)
            is polynomial hard.}
        \item{Simulation using dense state vectors is exponentially hard.}
        \item{The performance of the graphical simulator depends on the state/circuit.}
    \end{itemize}
\end{frame}
}

{
\begin{frame}{Physical Applications}
    \begin{itemize}
        \item{The graphical simulator cannot be used for physical applications because 
            interesting problems require real (or at least rational) probability amplitudes.}
        \item{Stabilizer states do not span a vector space.}
        \item{The idea of finding a more efficient representation for a subset of
            states can be used in physics.}
    \end{itemize}
\end{frame}
}

{
\begin{frame}{References}
    See the bibliography of my bachelor thesis.
\end{frame}
}
\end{document}
