971 lines
34 KiB
TeX
971 lines
34 KiB
TeX
\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}{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}{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) &= \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}
|
|
}
|
|
|
|
\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_{j<k} g_{i,j}\right) \otimes Ug_{i,k}U^\dagger \otimes \left(\bigotimes\limits_{j>k} 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}
|