\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} \usepackage{adjustbox} \usepackage{tikz} \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 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. %\pause \item The quantum simulator: Mapping a hard problem to quantum hardware that can simulate this specific problem. %\pause \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). %\pause \item Fault tolerant QC needs a way to correct for those errors. %\pause \item Several strategies exist; one important class of quantum error correction codes are \textbf{stabilizer codes}. \end{itemize} \end{frame} } \section{Binary Quantum Computing} { \begin{frame}{Qbits} \textbf{Definition} {\itshape A qbit is a two-level quantum mechanical system $\ket{0}, \ket{1}$ with $\braket{0}{1} = 0$. In the following $Z = \sigma_Z, X = \sigma_X, Y = \sigma_Y$ will be used. $I$ is the identity matrix. } Where $Z\ket{0} = +1\ket{0}$ and $Z\ket{1} = -1\ket{1}$. \end{frame} } { \begin{frame}{Qbits and Gates} \begin{itemize} \item{ \textbf{Postulate} {\itshape A $n$-qbit system is the tensor product of the single-qbit systems. } } %\pause %\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} } %\pause \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$. } %\pause \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} %\pause \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.} %\pause \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. } %\pause \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} } %\pause \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. } %\pause \item{ Qbits are represented by horizontal lines. } %\pause \item{ Gates acting on a qbit are boxes on the lines. } %\pause \item{ Control-qbits are connected to the gate via a vertical line. } %\pause \item{ Circuits are read left to right. } %\pause \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} } %\pause \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} } %\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} \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 $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 \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 } } %\pause \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}$. } %\pause \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{ $\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} } \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} using this it is clear that for $U \in C_n$ the state $\ket{\psi'}$ is a stabilizer state again with the stabilizers $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 this can be simulated in $\mathcal{O}\left(n^2\right)$ time instead of $\mathcal{O}\left(2^n\right)$.} \end{itemize} \end{frame} } { \begin{frame}{Measurements on Stabilizer States} \begin{itemize} \item{ 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} P(s=0) &= \Tr(\frac{I + g_a}{2} \ket{\psi}\bra{\psi}) \\ &= \Tr(\frac{I + g_a}{2} S^{(j)} \ket{\psi}\bra{\psi}) \\ &= \Tr(S^{(j)}\frac{I - g_a}{2} \ket{\psi}\bra{\psi}) \\ &= \Tr(\frac{I - g_a}{2} \ket{\psi}\bra{\psi}) \\ &= 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}$. } \end{itemize} \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} { \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\}$ 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.\\ Example: \begin{equation} \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} \end{equation} } \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}{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} } { \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{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} } { \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. } \item{It is not immideately clear how measurement would work.} \end{itemize} \end{frame} } \end{document}