From 7c1050b32dd6730db9d5d16c08e5d81bdecfe460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Kn=C3=BCttel?= Date: Wed, 1 Apr 2020 13:13:35 +0200 Subject: [PATCH] some work 4 presentation --- .../regimes/graph_intermediate_regime.py | 34 + presentation/Makefile | 19 +- presentation/main.tex | 1037 ++++++---------- presentation/main_long.tex | 1042 +++++++++++++++++ 4 files changed, 1446 insertions(+), 686 deletions(-) create mode 100644 performance/regimes/graph_intermediate_regime.py create mode 100644 presentation/main_long.tex diff --git a/performance/regimes/graph_intermediate_regime.py b/performance/regimes/graph_intermediate_regime.py new file mode 100644 index 0000000..5d762ab --- /dev/null +++ b/performance/regimes/graph_intermediate_regime.py @@ -0,0 +1,34 @@ +from collections import deque +import matplotlib.pyplot as plt +import numpy as np +import json + +from pyqcs import State, H, X, S, CZ +from pyqcs.graph.state import GraphState +from pyqcs.util.random_circuits import random_circuit + +def S_with_extra_arg(act, i): + return S(act) + +np.random.seed(0xdeadbeef) + +circuit = random_circuit(50, 700, X, H, S_with_extra_arg, CZ) + +state = circuit * GraphState.new_plus_state(50) + +vops, edges = state._g_state.to_lists() + +handled_edges = set() +dot_edges = deque() + +for i, ngbhd in enumerate(edges): + for j in ngbhd: + if((i,j) not in handled_edges): + dot_edges.append(f"{i} -- {j}") + handled_edges |= {(i,j), (j,i)} + +dot_edges_str = "\n".join(dot_edges) + +dot_str = "graph graphical_state{\n" + dot_edges_str + "\n}" + +print(dot_str) diff --git a/presentation/Makefile b/presentation/Makefile index a81a37a..c594559 100644 --- a/presentation/Makefile +++ b/presentation/Makefile @@ -12,7 +12,13 @@ graph_pngs= graphs/valid_graph.png \ -all: main.pdf +all: main_long.pdf main.pdf + +main_long.pdf: main_long.tex $(graph_pngs) + $(latex) main_long + #$(bibtex) main_long + $(latex) main_long + $(pdflatex) main_long main.pdf: main.tex $(graph_pngs) $(latex) main @@ -20,11 +26,19 @@ main.pdf: main.tex $(graph_pngs) $(latex) main $(pdflatex) main - graphs/%.png: graphs/%.dot dot $< -Tpng -o $@ clean: + -rm main_long.aux + -rm main_long.blg + -rm main_long.dvi + -rm main_long.log + -rm main_long.out + -rm main_long.pdf + -rm main_long.toc + -rm main_long.bbl + -rm $(graph_pngs) -rm main.aux -rm main.blg -rm main.dvi @@ -33,4 +47,3 @@ clean: -rm main.pdf -rm main.toc -rm main.bbl - -rm $(graph_pngs) diff --git a/presentation/main.tex b/presentation/main.tex index 2f271df..49caacc 100644 --- a/presentation/main.tex +++ b/presentation/main.tex @@ -30,12 +30,6 @@ 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} { @@ -58,26 +52,10 @@ \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}{Motivation: Exponentially Hard (Physical) Problems} \begin{itemize} \item{Some mathematical problems are exponentially hard to solve, for instance prime factorization.} - \item{Some physical systems are hard to observe or manipulate, relativistic fermions on a curved spacetime are - a typical example.} \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.} @@ -85,27 +63,53 @@ \end{frame} } -{ -\begin{frame}{The Quantum Simulator} - \begin{itemize} - \item{Mapping a system which is hard to observe and/or hard to manipulate to an analogous system.} - \item{A typical example is Graphene which has a band structure near the $K$ point similar to relativistic fermions.} - \item{Original idea from Feynman.} - \end{itemize} -\end{frame} -} { \begin{frame}{The Universal Quantum Computer} \begin{itemize} - \item{A quantum system to which any unitary transformation can be applied.} - \item{Any quantum system with sufficiently small hilbert space can be simulated.} - \item{Quantum algorithms such as the Phase Estimation Algorithm have physical applications.} - \item{Applications in other fields: Quantum AI, breaking encryption (via prime factorization), Quantum Search, ...} + % 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 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} + } + + \end{itemize} +\end{frame} +} { \begin{frame}{Quantum Errors and Quantum Error Correction} @@ -115,189 +119,88 @@ \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}. + \item{Parts of the theoretical description of quantum errors can be used for physical + problems (see above).} \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 + \item{A qbit is a two level quantum mechanical system. The Hilbert space + $\mathcal{H}$ is two dimensional and has the basis vectors $\ket{0}, \ket{1}$.} + \item{$n$ qbits have the Hilbert space $\mathcal{H}^{\otimes n}$.} + \item{Gates on a quantum computers are unitary operators acting on $\mathcal{H}^{\otimes n}$.} \end{itemize} \end{frame} } +{ +\begin{frame}{Notable Gates on One Qbit} + \begin{itemize} + \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}{Gates} - Some notable gates are +\begin{frame}{Notable gates on $n$ Qbits} \begin{itemize} - \item{ - the Hadamard gate + \item{For a unitary $U$ acting on $\mathcal{H}$ \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 + U_i := \left(\bigotimes\limits_{l < i} I\right) \otimes U \otimes \left(\bigotimes\limits_{l > i} I\right) + \end{equation} + is the $U$ gate acting on qbit $i$.} + \item{For two qbits $i\neq j$ the controlled $X$ gate is + \begin{equation} + CX_{i,j} = \ket{0}\bra{0}_j \otimes I_i + \ket{1}\bra{1}_j \otimes X_i. + \end{equation}} \end{itemize} \end{frame} } { -\begin{frame}{Gates} +\begin{frame}{Universal 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. - } - - } + \item{A quantum computer should be able to simulate any unitary on $\mathcal{H}^{\otimes n}$.} + \item{Similarly to classical computers a universal set of operations is required.} + \item{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}$.} + \item{The gates $\{H, R_\phi\}$ are universal on $\mathcal{H}$.} \end{itemize} \end{frame} } + { -\begin{frame}{Integer States} +\begin{frame}{Measurements and Computational Hardness} \begin{itemize} - \item{ - The eigenstates of the $Z_i$ are called integer states. They have the form + \item{When measuring a qbit $i$ the observable $Z_i$ is measured.} + \item{The Hilbert space $\mathcal{H}^{\otimes n}$ has the integer basis \begin{equation} - \ket{j} = \ket{\mbox{0b}l_1...l_n} = \ket{l_1}_s \otimes ... \otimes \ket{l_n}s + \ket{j} = \ket{\mbox{0b}j_{n-1}...j_1j_0} = \bigotimes\limits_{l=0}^{n-1} \ket{j_l}. \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$. } + \item{A general state $\ket{\psi}$ has $2^n$ coefficients in this basis.} + \item{In general an operation on the state $\ket{\psi}$ will have to update $2^n$ coefficients. + Mapping a general state $\ket{\psi}$ to $\ket{\psi'}$ cannot be performed in $\mbox{poly}(n)$ time.} \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} @@ -312,7 +215,7 @@ \item{ The time evolution of such a system is given by the transfer matrix \begin{equation} - T := \exp(-itH) \in SU(2^n) + T := \exp(-itH) \in U(2^n) \end{equation} } %\pause @@ -330,7 +233,10 @@ \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) + \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^2}{N^2}\right)\\ + \end{aligned} \end{equation} } \item{ @@ -357,85 +263,59 @@ \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 + simulated and sampled efficiently, i.e. in $\mbox{poly}(n, m)$ time + where $m$ is the amount of gates/measurements.} + \item{Note that a general state has $2^n$ complex coefficients. + Computing operations on this state is therefore exponentially hard in + $n$.} + \end{itemize} + +\end{frame} +} + { \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. - }} + \item{Why is simulating $H, R_\frac{\pi}{2}, CZ$ and measurements + so much easier?} %\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 - } - } + The Pauli group is $P := \{\pm 1, \pm i\} \cdot \{X, Y, Z, I\}$. + $P_n := P^{\otimes n}$ is called the multilocal Pauli group. + } %\pause \item{ - One can show that $C_n$ is generated by $H, S, CZ_{i,j}$. + $C_n$ is the normalizer of $P_n$, i.e. it maps $P_n$ to itself.\\ + One can show that $C_n$ is generated by $H, R_\frac{\pi}{2}, 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. - } + Choose a finite Abelian subgroup $S$ of $P_n$ with $-I \notin S$. } \item{ - From $-I \notin S$ follows that all elements of $S$ are hermitian. + One says $S = \langle S^{(i)} \rangle_{i=1,...,n}$ is generated by the $S^{(i)}$ + if every element of $S$ can be expressed as a product of the $S^{(i)}$ and the + $S^{(i)}$ are the minimal amount of matrices required for this property. } \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. + One can show that for $S = \langle S^{(i)} \rangle_{i=1,...,n}$ the stabilizer space + $V_S := \{\ket{\psi} | S^{(i)}\ket{\psi} = \ket{\psi} \forall i\}$ + has dimension $1$. $\ket{\psi}$ is therefore up to a trivial phase unique. } \end{itemize} @@ -443,398 +323,237 @@ } { -\begin{frame}{Stabilizer States} +\begin{frame}{Some Notable 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{The state $\ket{\mbox{0b}00}$ is stabilized by + $\langle Z_0, Z_1\rangle$.} + \item{Applying the Hadamard gate to the first qbit changes the state to + $\frac{1}{\sqrt{2}}\left(\ket{\mbox{0b}00} + \ket{\mbox{0b}01}\right)$. + This state is stabilized by + $\langle H_0 Z_0 H_0^\dagger, Z_1 \rangle = \langle X_0, Z_1 \rangle$. } - \item{ - $\ket{+}$ stabilized by $\langle X_i \rangle_i$ (and $\ket{-}$ analogously). + \item{Applying a $CX_{1, 0}$ gate yields + $\frac{1}{\sqrt{2}}\left(\ket{\mbox{0b}00} + \ket{\mbox{0b}11}\right)$ + the famous EPR/Bell state which is stabilized by + $\langle CX_{1, 0} X_0 CX_{1, 0}^\dagger, CX_{1, 0} Z_1 CX_{1, 0}^\dagger \rangle = \langle X_0 X_1, Z_0 Z_1 \rangle$. } - \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) &= \left|\Tr(\frac{I + g_a}{2} \ket{\psi}\bra{\psi})\right| \\ - &= \left|\Tr(\frac{I + g_a}{2} S^{(j)} \ket{\psi}\bra{\psi})\right| \\ - &= \left|\Tr(S^{(j)}\frac{I - g_a}{2} \ket{\psi}\bra{\psi})\right| \\ - &= \left|\Tr(\frac{I - g_a}{2} \ket{\psi}\bra{\psi})\right| \\ - &= 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}$. - } + \item{When measuring qbit $0$ the resulting state is either $\ket{\mbox{0b}00}$ or $\ket{\mbox{0b}11}$ + and the stabilizers are either $\langle Z_0, Z_1\rangle$ or $\langle -Z_0, -Z_1\rangle$.} \end{itemize} \end{frame} } { -\begin{frame}{Measurements on Stabilizer States} +\begin{frame}{Dynamics and Measurements} \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{In general a Clifford gate $U \in C_n$ will map a stabilizer state to another stabilizer state. + The new state is stabilized by $\langle U S^{(i)} U^\dagger \rangle_i$.} + \item{A Pauli observable $g_a \in \{X_a, Y_a, Z_a\}$ will either commute with all stabilizers + (in this case $g_a$ is a stabilizer, the measurement is deterministic and the stabilizers are unchanged) or + or anticommute with at least one stabilizer.} + \item{If $g_a$ anticommutes with a subset $A := \{S^{(i)} | \{S^{(i)}, g_a\} = 0 \}$ + the probability to measure $+1$ or $-1$ is $\frac{1}{2}$ and the stabilizers $A$ + are changed.} + \item{When going from $+g_a$ to $-g_a$ the results are changed from $+1$ to $-1$ and vice versa.} + \end{itemize} +\end{frame} +} + +{ +\begin{frame}{Graphical States} + \begin{itemize} + \item{The graphical representation of stabilizer states is an optimized way to write + the stabilizers.} \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} + $(V, E, O)$ is called the graphical representation of + a stabilizer state if $V = \{0, ..., n-1\}$, + $E \subset \{\{i,j\} | i,j \in V, i \neq j \}$ and + $O = \{o_0, ..., o_{n-1}\}$ where $o_i \in C_1$. + $G = (V, E)$ is a graph, $O$ are called vertex operators. } - - \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 + \item{The state associated with $(V, E, O)$ is given by \begin{equation} - K_G^{(i)} := X_i \prod\limits_{\{i,j\} \in E} Z_j + \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} - 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$. + 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{The stabilizers of this state are $K_G^{(i)} = X_i \prod\limits_{\{i,j\} \in E} Z_j$.} + %\item{The stabilizers associated with $(V, E, O)$ are + % \begin{equation} + % \left\langle\left(\bigotimes\limits_{j=0}^{n-1} o_j \right) K_G^{(i)} \left(\bigotimes\limits_{j=0}^{n-1} o_j \right)^\dagger\right\rangle_i + % \end{equation} + % where + % \begin{equation} + % K_G^{(i)} = X_i \prod\limits_{\{i,j\} \in E} Z_j. + % \end{equation} + %} \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}{Graphical States} +% \begin{itemize} +% \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} +\begin{frame}{Dynamics of Graphical States} +\begin{itemize} + \item{Applying a local Clifford gate $U_i$ is trivial: + Just the vertex operator is updated to $U o_i$.} + \item{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$.} + \item{If the vertices $a, b$ are isolated the resulting state after + applying $CZ_{a,b}$ can be precomputed. } + \item{When none of the above is possible one can clear at least one + vertex operator (i.e. transforming it to $I$).} + \item{If both vertex operators can be cleared $\{a,b\}$ is toggled in $E$. + If just one vertex operator has been cleared the other vertex is isolated + and one can precompute all resulting states.} +\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{One can show that for a non-isolated vertex $j$ + the unitary $M_j = \sqrt{-iX_j} \prod\limits_{\{l,j\} \in E} \sqrt{iZ_l}$ + when applied to a graphical state with $O = \{I, ..., I\}$ toggles the neighbourhood + of $j$.} + \item{The operation $L_j$ which simultaneously toggles the neighbourhood of $j$ and right-multiplies + $M_j^\dagger$ to the vertex operators keeps the state $\ket{G}$ invariant.} + \item{The group $C_1$ is generated by $\sqrt{-iX}, \sqrt{iZ}$. + Any $U \in C_1$ is the product of at most $5$ of those matrices. } - \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} -} + Let $a$ be the vertex to be cleared. Then there is one neighbour $j \neq b$ of $a$. + Clearing the vertex operator $o_a$ is done by moving from right to left through the product + and applying -{ -\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}$. - } - \end{itemize} - -\end{frame} -} -{ -\begin{frame}{Measurements on Graph States} - \begin{itemize} - \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 = \pm Z_a$.} - \end{itemize}} - \item{This can be used to compute the probability amplitudes and update $(G,V,E)$ after - the measurement.} + \item{$L_a$ if the current matrix is $\sqrt{-iX}$ or} + \item{$L_j$ if the current matrix is $\sqrt{iZ}$.} + \end{itemize} + + } \end{itemize} - \end{frame} } +{ +\begin{frame}{Clearing VOPs: Example} + \noindent\begin{minipage}{0.5\textwidth} + \includegraphics[width=\textwidth]{graphs/clear_vop_01.png} + \end{minipage} \hfill + \begin{minipage}{0.4\textwidth} + Vertex operator \\ + $19 = \left[\begin{matrix}\frac{\sqrt{2}}{2} & \frac{\sqrt{2} i}{2}\\- \frac{\sqrt{2} i}{2} & - \frac{\sqrt{2}}{2}\end{matrix}\right]$ + \end{minipage} + \noindent\begin{minipage}{0.5\textwidth} + \includegraphics[width=\textwidth]{graphs/clear_vop_02.png} + \end{minipage} \hfill + \begin{minipage}{0.4\textwidth} + Vertex operator \\ + $ 21 = \left[\begin{matrix}0 & -1\\1 & 0\end{matrix}\right]$ + \end{minipage} +\end{frame} +} +{ +\begin{frame}{Clearing VOPs: Example} + \noindent\begin{minipage}{0.5\textwidth} + \includegraphics[width=\textwidth]{graphs/clear_vop_02.png} + \end{minipage} \hfill + \begin{minipage}{0.4\textwidth} + Vertex operator \\ + $ 21 = \left[\begin{matrix}0 & -1\\1 & 0\end{matrix}\right]$ + \end{minipage} + \noindent\begin{minipage}{0.5\textwidth} + \includegraphics[width=\textwidth]{graphs/clear_vop_03.png} + \end{minipage} \hfill + \begin{minipage}{0.4\textwidth} + Vertex operator \\ + $11 = \left[\begin{matrix}\frac{\sqrt{2}}{2} & - \frac{\sqrt{2} i}{2}\\\frac{\sqrt{2} i}{2} & - \frac{\sqrt{2}}{2}\end{matrix}\right]$ + \end{minipage} +\end{frame} +} +{ +\begin{frame}{Clearing VOPs: Example} + \noindent\begin{minipage}{0.5\textwidth} + \includegraphics[width=\textwidth]{graphs/clear_vop_03.png} + \end{minipage} \hfill + \begin{minipage}{0.4\textwidth} + Vertex operator \\ + $11 = \left[\begin{matrix}\frac{\sqrt{2}}{2} & - \frac{\sqrt{2} i}{2}\\\frac{\sqrt{2} i}{2} & - \frac{\sqrt{2}}{2}\end{matrix}\right]$ + \end{minipage} + \noindent\begin{minipage}{0.5\textwidth} + \includegraphics[width=\textwidth]{graphs/clear_vop_04.png} + \end{minipage} \hfill + \begin{minipage}{0.4\textwidth} + Vertex operator \\ + $5 = \left[\begin{matrix}1 & 0\\0 & -1\end{matrix}\right]$ + \end{minipage} +\end{frame} +} +{ +\begin{frame}{Clearing VOPs: Example} + \noindent\begin{minipage}{0.5\textwidth} + \includegraphics[width=\textwidth]{graphs/clear_vop_04.png} + \end{minipage} \hfill + \begin{minipage}{0.4\textwidth} + Vertex operator \\ + $5 = \left[\begin{matrix}1 & 0\\0 & -1\end{matrix}\right]$ + \end{minipage} + \noindent\begin{minipage}{0.5\textwidth} + \includegraphics[width=\textwidth]{graphs/clear_vop_05.png} + \end{minipage} \hfill + \begin{minipage}{0.4\textwidth} + Vertex operator \\ + $ 7 = \left[\begin{matrix}\frac{\sqrt{2}}{2} & - \frac{\sqrt{2}}{2}\\\frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2}\end{matrix}\right]$ + \end{minipage} +\end{frame} +} +{ +\begin{frame}{Clearing VOPs: Example} + \noindent\begin{minipage}{0.5\textwidth} + \includegraphics[width=\textwidth]{graphs/clear_vop_05.png} + \end{minipage} \hfill + \begin{minipage}{0.4\textwidth} + Vertex operator \\ + $ 7 = \left[\begin{matrix}\frac{\sqrt{2}}{2} & - \frac{\sqrt{2}}{2}\\\frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2}\end{matrix}\right]$ + \end{minipage} + \noindent\begin{minipage}{0.5\textwidth} + \includegraphics[width=\textwidth]{graphs/clear_vop_06.png} + \end{minipage} \hfill + \begin{minipage}{0.4\textwidth} + Vertex operator \\ + $2 = \left[\begin{matrix}1 & 0\\0 & 1\end{matrix}\right]$ + \end{minipage} +\end{frame} +} +{ +\begin{frame}{Clearing VOPs: Example} + \noindent\begin{minipage}{0.5\textwidth} + \includegraphics[width=\textwidth]{graphs/clear_vop_01.png} + \end{minipage} \hfill + \begin{minipage}{0.4\textwidth} + Vertex operator \\ + $19 = \left[\begin{matrix}\frac{\sqrt{2}}{2} & \frac{\sqrt{2} i}{2}\\- \frac{\sqrt{2} i}{2} & - \frac{\sqrt{2}}{2}\end{matrix}\right]$ + \end{minipage} + \noindent\begin{minipage}{0.5\textwidth} + \includegraphics[width=\textwidth]{graphs/clear_vop_06.png} + \end{minipage} \hfill + \begin{minipage}{0.4\textwidth} + Vertex operator \\ + $2 = \left[\begin{matrix}1 & 0\\0 & 1\end{matrix}\right]$ + \end{minipage} +\end{frame} +} \section{Implementation and Performance} { @@ -885,86 +604,38 @@ \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}{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} - \langle CX_{1,2} (g_1 \otimes g_2) CX_{1,2}\rangle = \langle g_1' \otimes g_2'\rangle - \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} diff --git a/presentation/main_long.tex b/presentation/main_long.tex new file mode 100644 index 0000000..391f7a9 --- /dev/null +++ b/presentation/main_long.tex @@ -0,0 +1,1042 @@ +\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: Exponentially Hard (Physical) Problems} + \begin{itemize} + \item{Some mathematical problems are exponentially hard to solve, for instance prime factorization.} + \item{Some physical systems are hard to observe or manipulate, relativistic fermions on a curved spacetime are + a typical example.} + \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 Quantum Simulator} + \begin{itemize} + \item{Mapping a system which is hard to observe and/or hard to manipulate to an analogous system.} + \item{A typical example is Graphene which has a band structure near the $K$ point similar to relativistic fermions.} + \item{Original idea from Feynman.} + \end{itemize} +\end{frame} +} + +{ +\begin{frame}{The Universal Quantum Computer} + \begin{itemize} + \item{A quantum system to which any unitary transformation can be applied.} + \item{Any quantum system with sufficiently small hilbert space can be simulated.} + \item{Quantum algorithms such as the Phase Estimation Algorithm have physical applications.} + \item{Applications in other fields: Quantum AI, breaking encryption (via prime factorization), Quantum Search, ...} + \end{itemize} + +\end{frame} +} +{ +\begin{frame}{Motivation: Using Quantum Computing for Physics} + \begin{itemize} + \item{Preparing ground states of non-perturbative systems by adiabatic + time evolution. Also works in QCD (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.} + \item{Compute trace formuli (arXiv:2001.11145v1).} + \end{itemize} + +\end{frame} +} + +{ +\begin{frame}{Challenges} + \begin{itemize} + \item{Many Hilbert space have non-finite dimension.} + \item{Choosing interesting subspaces can be hard.} + \item{Treating the rest of the Hilbert space can be hard.} + \item{Possible approach: Choose a subspace and treat the other subspace + as a bath (Andreas Hackl).} + \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}. + \item{Parts of the theoretical description of quantum errors can be used for physical + problems (see above).} + \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. + } + + $\ket{0}, \ket{1}$ are the eigenkets of the $Z$ operator: + $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 U(2^n)$ is called \textit{gate} acting on the system. + For $\bar{U} \in U(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 U(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 U(2^n)$ can be generated 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 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} + \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 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, S, CZ$ and measurements + starting from the $\ket{0}^{\otimes n}$ state can be + simulated and sampled efficiently, i.e. in $\mbox{poly}(n, m)$ time + where $m$ is the amount of gates/measurements.} + \item{Note that a general state has $2^n$ complex coefficients. + Computing operations on this state is therefore exponentially hard in + $n$.} + \end{itemize} + +\end{frame} +} + +{ +\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 U(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 U(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) &= \left|\Tr(\frac{I + g_a}{2} \ket{\psi}\bra{\psi})\right| \\ + &= \left|\Tr(\frac{I + g_a}{2} S^{(j)} \ket{\psi}\bra{\psi})\right| \\ + &= \left|\Tr(S^{(j)}\frac{I - g_a}{2} \ket{\psi}\bra{\psi})\right| \\ + &= \left|\Tr(\frac{I - g_a}{2} \ket{\psi}\bra{\psi})\right| \\ + &= 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}$. + } + \end{itemize} + +\end{frame} +} +{ +\begin{frame}{Measurements on Graph States} + \begin{itemize} + \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 = \pm 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/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}{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. + } + \item{Expressing a non-stabilizer state as a sum of stabilizer states + and computing their time evolution under Clifford gates might + be possible. Handling relative phases to ensure interference is + correct may require special care.} + \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 $U(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. The Clifford group is the Normalizer of + the multilocal Pauli group. + } + %\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. + % } + \item{The Stabilizer Formalism has since been generalized to finite + Abelian groups over the Hilbert space. The Clifford gates are generalized + to normalizers.} + \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} +% \langle CX_{1,2} (g_1 \otimes g_2) CX_{1,2}\rangle = \langle g_1' \otimes g_2'\rangle +% \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}