diff --git a/thesis/chapters/graph_simulator.tex b/thesis/chapters/graph_simulator.tex index cc6ebcf..975e40c 100644 --- a/thesis/chapters/graph_simulator.tex +++ b/thesis/chapters/graph_simulator.tex @@ -1,13 +1,9 @@ \section{The Graph Simulator} -\subsection{Introduction to the Graph Formalism} +\subsection{Mathematical Prerequisites} -The first step towards the simulation in the graph formalism has been -the discovery of the stabilizer states and stabilizer circuits \cite{gottesman2009}\cite{gottesman1997}. -They led to the faster simulation using stabilizer tableaux\cite{gottesman_aaronson2008} and later -to the graph formalism\cite{schlingenmann2001}\cite{andersbriegel2005}\cite{vandennest_ea2004}. -The following discussion eludicates the graph formalism and explains how the graph simulator works. -Some parts will be kept short as they can be looked up in \cite{andersbriegel2005}. +The following definitions and lemmata are required to understand both how the +graph formalism works and how the simulator handles gates. \begin{definition} \begin{equation} @@ -147,8 +143,40 @@ can be disregarded as discussed above $C_L$ will be used from now on instead of Therefore $a$ will preserve the (anti-)commutator relations of $P$. Also $P$ is generated by $X,Z$ when disregarding a phase wich does not matter for anticommutator relations. This means that $X$ can be mapped to any $p \in P$ which are six elements disregarding + + FIXME \end{proof} +\subsection{Introduction to the Graph Formalism} + +The first step towards the simulation in the graph formalism has been +the discovery of the stabilizer states and stabilizer circuits \cite{gottesman2009}\cite{gottesman1997}. +They led to the faster simulation using stabilizer tableaux\cite{gottesman_aaronson2008} and later +to the graph formalism\cite{schlingenmann2001}\cite{andersbriegel2005}\cite{vandennest_ea2004}. +The following discussion eludicates the graph formalism and explains how the graph simulator works. +Some parts will be kept short as they can be looked up in \cite{andersbriegel2005}. + +A naive state is just a vector containing the coefficients $c_i$ as defined in \ref{ref:nqbitsystems}. +It is a quite straight forward approach and gates are applied by updating the coefficients according +to the gate's matrix representation. A naive state has the time and space complexity $\mathcal{O}(2^n)$ which limits the number +of qbits drastically. \\ +The stabilizer tableaux represent the state by its stabilizers i.e. by those Pauli operators of which the +state is a $+1$ eigenstate. This has a space complexity of $\mathcal{O}(n^2)$ while updating the tableaux +has a time complexity of $\mathcal{O}(n)$ for unitary gates and $mathcal{O}(n^2)$ for measurements. + +A graph state now represents the state by the gates that have been applied to it starting from the $\ket{+}$ state: + +\begin{equation} + \ket{+} := \bigotimes\limits_{i=0}^{n-1} H_i \ket{0} +\end{equation} + +A graph state $\ket{G}$ is a 3-tuple $(V, E, O)$ where $(V = \{0, ..., n-1\}, E)$ is a graph with the vertices $V$, edges $E$ +and vertex operators $O = \{o_i | i = 0, ..., n-1; o_i \in C_L \forall i\}$. The vertex operators and edges are defined +by the following relation: + +\begin{equation} + \ket{G} = \left(\bigotimes\limits_{i=0}^{n-1} o_i \right)\left(\bigotimes\limits_{\{i, j\} \in E} CZ_{i,j} \right) \ket{+} +\end{equation} \subsection{Graph Storage} @@ -160,6 +188,7 @@ The following FIXME + \subsection{Usage} FIXME