diff --git a/presentation/main.tex b/presentation/main.tex index 4e69d8d..0e41ccb 100644 --- a/presentation/main.tex +++ b/presentation/main.tex @@ -330,7 +330,8 @@ \begin{itemize} \item{\textbf{Definition} {\itshape - $P := \{\pm1, \pm i\} \cdot \{X, Y, Z, I\}$ is called the Pauli group.\\ + $P := \{\pm1X, \pm1Y, \pm1Z, \pm1I, \pm iX, \pm iY, \pm iZ, \pm iI\}$ (with the matrix product) + is called the Pauli group.\\ $P_n := \left\{p_1 \otimes ... \otimes p_n \middle| p_i \in P \right\}$ is called the multilocal Pauli group. }} \pause @@ -426,7 +427,7 @@ $\ket{+}$ stabilized by $\langle X_i \rangle_i$ (and $\ket{-}$ analogously). } \item{ - $\ket{0b00} + \ket{0b11}$ the Bell/EPR state which is stabilized by $\langle X_1X_2, Z_1Z_2\rangle$. + $\frac{\ket{0b00} + \ket{0b11}}{\sqrt{2}}$ the Bell/EPR state which is stabilized by $\langle X_1X_2, Z_1Z_2\rangle$. } \end{itemize} } @@ -501,6 +502,33 @@ \end{frame} } +{ +\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} +} + + \section{Graphical Description of Stabilizer States} { @@ -555,7 +583,7 @@ 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\}$ - of a. + of $a$. I.e. it toggles the edges $n_a \otimes n_a$. } \item{ Many Clifford operations cannot be described by the VOP-free graph states.\\ @@ -574,4 +602,265 @@ \end{itemize} \end{frame} } + +{ +\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} +} + +{ +\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} + 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}}\\ + \end{aligned} + \end{equation} + + With a new projector $\tilde{P}_a = \frac{I + g_a}{2}$. + } + \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$,} + \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 = Z_a$.} + \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} +} + +\section{Limitations and Future Work} + +{ +\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_{jk} 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. + } + + \end{itemize} +\end{frame} +} + + + \end{document}