263 lines
11 KiB
TeX
263 lines
11 KiB
TeX
\section{The Graph Simulator}
|
|
|
|
\subsection{Mathematical Prerequisites}
|
|
|
|
The following definitions and lemmata are required to understand both how the
|
|
graph formalism works and how the simulator handles gates.
|
|
|
|
%A $n$ qbit graph or stabilizer state is a $+1$ eigenstate of some $ p \in P_n$ where $P_n$ is the Pauli group\cite{andersbriegel2005}.
|
|
|
|
One can show that the Clifford group $C_n$ can be generated using the elements of $C_1$ acting on all qbits and
|
|
the controlled phase gate $CZ$ between all qbits\cite{andersbriegel2005}. It is worth noting that the $CX$ gate can be
|
|
generated using $CZ$ and $C_1$ gates.
|
|
|
|
\begin{lemma}
|
|
Let $a \in C_1$ then $\forall \phi \in [0, 2\pi)$ also $\exp(i\phi)a \in C_1$.
|
|
|
|
\textbf{Note}: This is also true for $C_n \forall n >= 1$.
|
|
\end{lemma}
|
|
\begin{proof}
|
|
|
|
Let $a' := \exp(i\phi)a$. $a' \in C_1$ iff $a'pa^{\prime\dagger} \in P \forall p \in P$.
|
|
|
|
\begin{equation}
|
|
\begin{aligned}
|
|
a'pa^{\prime\dagger} &= (\exp(i\phi)a)p(\exp(i\phi)a)^\dagger \\
|
|
& = \exp(i\phi)ap\exp(-i\phi)a^\dagger \\
|
|
& = \exp(i\phi)\exp(-i\phi) apa^\dagger \\
|
|
& = apa^\dagger \in P
|
|
\end{aligned}
|
|
\end{equation}
|
|
\end{proof}
|
|
|
|
%\begin{lemma}
|
|
% One cannot measure phases by projecting states.
|
|
%\end{lemma}
|
|
%\begin{proof}
|
|
% Let $\ket{\psi}$ be a state, $\ket{\varphi}\bra{\varphi}$ a projector. $\ket{\psi'} := \exp(i\phi)\ket{\psi}$ for some $\phi \in [0, 2\pi)$.
|
|
%
|
|
% \begin{equation}
|
|
% \begin{aligned}
|
|
% \bra{\psi'}\ket{\varphi}\bra{\varphi}\ket{\psi'} &= \exp(-i\phi)\bra{\psi}\ket{\varphi}\bra{\varphi}\exp(i\phi)\ket{\psi} \\
|
|
% & = \exp(-i\phi)\exp(i\phi)\bra{\psi}\ket{\varphi}\bra{\varphi}\ket{\psi} \\
|
|
% & = \bra{\psi}\ket{\varphi}\bra{\varphi}\ket{\psi}
|
|
% \end{aligned}
|
|
% \end{equation}
|
|
%\end{proof}
|
|
%
|
|
%\begin{definition}
|
|
% A phase $\phi \in [0, 2\pi)$ is called qbit-global, if for some qbit states $\ket{\psi}, \ket{\varphi}$ $\ket{\psi} = \exp(i\phi)\ket{\varphi}$.
|
|
%\end{definition}
|
|
%
|
|
%\begin{lemma}
|
|
% When entangling qbits via projections one can disregard qbit-global phases.
|
|
%
|
|
% Two qbits are entangled via projection, if for some single qbit gates $M,N$
|
|
% and two orthonormal states $\ket{a}, \ket{b}$
|
|
%
|
|
% \begin{equation}
|
|
% C^{M,N}(i,j) = \ket{a}\bra{a}_j \otimes M_i + \ket{b}\bra{b}_j \otimes N_i
|
|
% \end{equation}
|
|
%
|
|
% \textbf{Remark.}
|
|
% In particular when entangling states using $CX$ and $CZ$ one can disregard qbit-global phases.
|
|
% This is immideatly clear when recalling \eqref{eq:CX_pr} and \eqref{eq:CZ_pr}.
|
|
%\end{lemma}
|
|
%
|
|
%\begin{proof}
|
|
% Let $\alpha, \beta \in [0, 2\pi)$ be some phases, $\ket{\psi}, \ket{\varphi}, \ket{\psi'} := \exp(i\alpha)\ket{\psi}, \ket{\varphi'} := \exp(i\beta)\ket{\varphi}$ some single qbit states,
|
|
% $M, N, \ket{a}, \ket{b}, C^{M,N}(i,j)$ as defined above.
|
|
%
|
|
%\begin{equation}
|
|
%\begin{aligned}
|
|
% C^{M,N}(1, 0) (\ket{\psi'}\otimes\ket{\varphi'}) & = \ket{a}\braket{a}{\varphi'}\otimes M\ket{\psi'} + \ket{b}\braket{b}{\varphi'} \otimes N\ket{\psi'} \\
|
|
% & = \exp(i\beta)\ket{a}\braket{a}{\varphi}\otimes\exp(i\alpha)M\ket{\phi} + \exp(i\beta)\ket{b}\braket{b}{\varphi}\otimes\exp(i\alpha)N\ket{\phi}\\
|
|
% & = \exp(i(\beta + \alpha))(\ket{a}\braket{a}{\varphi}\otimes M\ket{\psi} + \ket{b}\braket{b}{\varphi} \otimes N\ket{\psi})\\
|
|
% & = \exp(i(\beta + \alpha))C^{M,N}(1, 0) (\ket{\psi}\otimes\ket{\varphi})
|
|
%\end{aligned}
|
|
%\end{equation}
|
|
%
|
|
% Where $\exp(i(\beta + \alpha))$ is a multi-qbit-global phase which can be (following the above argumentation) disregarded.
|
|
%
|
|
%\end{proof}
|
|
%
|
|
%\begin{corrolary}
|
|
% One can disregard global phases of elements of the $C_1$ group.
|
|
%\end{corrolary}
|
|
%
|
|
%\begin{proof}
|
|
% As it has been shown above a quantum computer cannot measure global phases. Also
|
|
% the entanglement gates $CX, CZ$ map qbit-global phases to multi-qbit-global phases which cannot
|
|
% be measured. It has been shown above that one can choose the $C_1$ operators such that they do not yield
|
|
% a phase.
|
|
%\end{proof}
|
|
|
|
\begin{definition}
|
|
\begin{equation}
|
|
C_L := \{a \in C_1 | \nexists \phi \in [0, 2\pi), b \in C_L : a = \exp(i\phi)b\}
|
|
\end{equation}
|
|
Is called the non-trivial local Clifford group.
|
|
\end{definition}
|
|
|
|
\textbf{Remark.} When computing the elements of $C_L$ and their products one will realize that $C_L$ is not a group.
|
|
If one however disregards a global phase the product of two $C_L$ elements will be in $C_L$ again.
|
|
\begin{theorem}
|
|
\begin{equation}
|
|
| C_L | = 24
|
|
\end{equation}
|
|
\end{theorem}
|
|
|
|
\begin{proof}
|
|
It is clear that $\forall a \in C_L$ a is a group isomorphism $P \circlearrowleft$: $apa^\dagger a p' a^\dagger = a pp'a^\dagger$.
|
|
Therefore $a$ will preserve the (anti-)commutator relations of $P$.
|
|
Further note that $Y = iXZ$, so one has to consider the anti-commutator relations
|
|
of $X,Z$ only.
|
|
|
|
As the transformations are unitary they preserve eigenvalues, so $X$ can be mapped
|
|
to $\pm X, \pm Y, \pm Z$ which gives $6$ degrees of freedom, the image of $Z$ has to
|
|
anti-commute with the image of $X$, so there are four degrees of freedom left which gives
|
|
a total of $24$ degrees of freedom.
|
|
|
|
\end{proof}
|
|
|
|
\begin{theorem}
|
|
One can use $C_L$ instead of $C_1$ when studying stabilizer states and
|
|
the choice of $C_L$ is arbitrary.
|
|
\end{theorem}
|
|
\begin{proof}
|
|
Let $\ket{\psi}$ be a stabilizer stabilized by $\langle S_i \rangle_i$. When applying an $a \in C_1$ to
|
|
$\ket{\psi}$ $a\ket{\psi}$ is stabilized by $\langle a S_i a^\dagger \rangle_i$, let $b \in C_L$ s.t.
|
|
$a = \exp(i\phi)b$ then $\forall j$ $a S_j a^\dagger = \exp(i\phi)b S_j \exp(-i\phi)b^\dagger = b S_j b^\dagger$,
|
|
so the dynamics of a state under the local Clifford group is fully described by $C_L$ and the choice of
|
|
the phases are arbitrary.
|
|
\end{proof}
|
|
|
|
From now on $C_L = \langle H, S \rangle$ (disregarding a global phase) will be used,
|
|
one can show (by construction) that $H, S$ generate a possible choice of $C_L$, as is
|
|
$\langle \sqrt{-iX}, \sqrt{-iZ}\rangle$ that will be used in one specific operation on graph states.
|
|
|
|
$$ S = \left(\begin{array}{cc} 1 & 0 \\ 0 & i \end{array}\right)$$
|
|
$$ \sqrt{-iX} = \frac{1}{\sqrt{2}}\left(\begin{array}{cc} 1 & i \\ i & 1 \end{array}\right)$$
|
|
$$ \sqrt{-iZ} = \exp(-i\frac{\pi}{4})\left(\begin{array}{cc} 1 & 0 \\ 0 & -i \end{array}\right)$$
|
|
|
|
\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.
|
|
|
|
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}
|
|
|
|
\begin{definition}
|
|
\label{def:graph_state}
|
|
|
|
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}
|
|
\label{eq:g_state}
|
|
\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}
|
|
\end{definition}
|
|
|
|
Where every $o_i$ acts on the $i$-th qbit.
|
|
|
|
One can show that any stabilizer state can be realized as a graph state (for instance in \cite{schlingenmann2001}).
|
|
|
|
|
|
|
|
|
|
\subsection{Operations on the Graph State}
|
|
|
|
\subsubsection{Single Qbit Gates}
|
|
|
|
Recalling \eqref{eq:g_state}
|
|
Makes it clear that for any single qbit gate $g \in C_L$ with $g_k$ being the gate
|
|
acting on qbit $k$ the state changes according to
|
|
|
|
|
|
\begin{equation}
|
|
\begin{aligned}
|
|
g_k \ket{G} &= g_k \left(\bigotimes\limits_{i=0}^{n-1} o_{i} \right)\left(\bigotimes\limits_{\{i, j\} \in E} CZ_{i,j} \right) \ket{+} \\
|
|
&= \left(\bigotimes\limits_{i=0}^{n-1} g_k^{\delta_{i,k}}o_{i} \right)\left(\bigotimes\limits_{\{i, j\} \in E} CZ_{i,j} \right)\ket{+}
|
|
\end{aligned}
|
|
\end{equation}
|
|
|
|
meaning that the graph state $(V, E, O)$ changes to $(V, E, \{o_0, ..., o_{k-1}, go_k, o_{k+1}, ..., o_{n-1}\})$
|
|
as $C_L$ is almost a group the element $go_k \in C_L$ up to a global phase that is disregarded. All the results
|
|
of $C_L \times C_L \rightarrow C_L, a,b \mapsto ab$ have been precomputed in a lookup table and the vertex operators
|
|
are updated according to that lookup table.
|
|
|
|
\subsubsection{Controlled Phase Gate}
|
|
|
|
Recalling \eqref{eq:g_state}
|
|
it is clear that some $CZ$ application is less trivial
|
|
than a single qbit gate.
|
|
|
|
%\begin{struktogramm}(100, 50)
|
|
% \ifthenelse[10]{1, 4}
|
|
% {Both Vertex operators Commute with CZ}{\sTrue}{\sFalse}
|
|
% \change
|
|
% \ifend
|
|
%\end{struktogramm}
|
|
|
|
|
|
\subsubsection{Measurement of a Qbit}
|
|
|
|
Note that the $Z$ gate is diagonal in the $\{\ket{1}_s,\ket{0}_s\}$ basis with eigen values $1, -1$.
|
|
This gives a simple expression for the projector on the $\ket{0}_s$ and $\ket{1}_s$ state of qbit $k$:
|
|
|
|
\begin{equation}
|
|
\tilde{P^{v}_{k}} := \frac{I_k + (-1)^vZ_k}{2}, v \in {0, 1}
|
|
\end{equation}
|
|
|
|
This projector trivially commutes with any non-operand vertex operator yielding for a state
|
|
|
|
|
|
\begin{equation}
|
|
\begin{aligned}
|
|
\ket{\psi} := \left(\bigotimes\limits_{\{i,j\} \in E} CZ_{i,j}\right) \ket{+} \\
|
|
\tilde{P^{v}_{k}} \left(\bigotimes\limits_{i=0}{n-1} o_i\right)\ket{\psi} &=
|
|
\left(\bigotimes\limits_{i=0,i \ne k}{n-1} o_i\right) \tilde{P^{v}_{k}} o_k \ket{\psi} \\
|
|
&= \left(\bigotimes\limits_{i=0,i \ne k}{n-1} o_i\right) o_ko_k^\dagger \tilde{P^{v}_{k}} o_k \ket{\psi} \\
|
|
&= \left(\bigotimes\limits_{i=0,i \ne k}{n-1} o_i\right) o_k = \frac{I_k + (-1)^v o_k^\dagger Z_ko_k}{2} \ket{\psi}
|
|
\end{aligned}
|
|
\end{equation}
|
|
|
|
Now $o_k$ stabilizes $P$, as it is an element of $C_L$, meaning that $o_k^\dagger Z_k o_k \in \{-1,1\}\{X_k, Y_k, Z_k\}$
|
|
Which gives a new projector on a Pauli matrix: $P_k := o_k^\dagger Z_ko_k$
|
|
|
|
|
|
|
|
\subsection{Graph Storage}
|
|
|
|
One of the gread advantages of simulating in the graph formalism is a great increase
|
|
in simulation performance and a lower memory requirement. The simulation of
|
|
at least $10^6$ qbits on a common desktop computer should be possible\cite{andersbriegel2005}.
|
|
Therefore one has to take care when choosing a representation of the graph state.
|
|
The following
|
|
|
|
FIXME
|
|
|
|
|
|
\subsection{Usage}
|
|
FIXME
|
|
|
|
\subsection{Performance}
|
|
FIXME
|