renamed to notes

This commit is contained in:
2020-01-13 13:55:15 +01:00
parent 7b90f16272
commit f47bbd6c9e
9 changed files with 0 additions and 0 deletions

28
notes/Makefile Normal file
View File

@@ -0,0 +1,28 @@
latex=xelatex
pdflatex=xelatex
bibtex=bibtex
chapters = chapters/introduction.tex \
chapters/naive_simulator.tex \
chapters/introduction_qc.tex \
chapters/stabilizer.tex \
chapters/graph_simulator.tex
all: main.pdf
main.pdf: main.tex main.bib $(chapters)
$(latex) main
$(bibtex) main
$(latex) main
$(pdflatex) main
clean:
-rm main.aux
-rm main.blg
-rm main.dvi
-rm main.log
-rm main.out
-rm main.pdf
-rm main.toc
-rm main.bbl

View File

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

View File

@@ -0,0 +1,3 @@
\section{Introduction}
--

View File

@@ -0,0 +1,118 @@
% vim: ft=tex
\section{Introduction to Binary Quantum Computing}
\subsection{Single Qbits}
\label{ref:singleqbitsystems}
A qbit is a two-level quantum mechanical system $ \{\ket{\uparrow} \equiv \ket{1}, \ket{\downarrow} \equiv \ket{0}\} $
with $\braket{\uparrow}{\downarrow} = 0$. One can associate
$\ket{\uparrow} \equiv \left(\begin{array}{c} 0 \\ 1\end{array} \right)$ and
$\ket{\downarrow} \equiv \left(\begin{array}{c} 1 \\ 0 \end{array} \right)$ which
is helpful in the following discussion.
A gate operating on a qbit is a unitary operator $G \in U(2)$. One can show that
$\forall G \in U(2)$ $G$ can be arbitrarily good as a product of unitary generator matrices\cite[Chapter 4.3]{kaye_ea2007},
common choices for the generators are $ X, H, R_{\phi}$ and $Z, H, R_{\phi}$ with
\label{ref:singleqbitgates}
\begin{equation}
X := \left(\begin{array}{cc} 0 & 1 \\ 1 & 0\end{array}\right)
\end{equation}
\begin{equation}
Z := \left(\begin{array}{cc} 1 & 0 \\ 0 & -1\end{array}\right)
\end{equation}
\begin{equation}
H := \frac{1}{\sqrt{2}}\left(\begin{array}{cc} 1 & 1 \\ 1 & -1\end{array}\right)
\end{equation}
\begin{equation}
R_{\phi} := \left(\begin{array}{cc} 1 & 0 \\ 0 & \exp(i\phi)\end{array}\right)
\end{equation}
\subsection{$N$ Qbit Systems}
\label{ref:nqbitsystems}
\begin{postulate}
A $N$ qbit quantum mechanical state is the tensor product\cite[Definition 14.3]{wuest1995} of the $N$ single qbit
states. The $N$ qbit operators are the tensor product of the $N$ single qbit operators.
\end{postulate}
Let $\ket{0}_s := \left(\begin{array}{c} 1 \\ 0 \end{array} \right)$ and $\ket{1}_s := \left(\begin{array}{c} 0 \\ 1 \end{array} \right)$
be the basis of the one-qbit systems. Then two-qbit basis states are
\begin{equation}
\ket{0} := \ket{0b00} := \ket{0}_s \otimes \ket{0}_s := \left(\begin{array}{c} 1 \\ 0 \\ 0 \\ 0 \end{array} \right)
\end{equation}
\begin{equation}
\ket{1} := \ket{0b01} := \ket{0}_s \otimes \ket{1}_s := \left(\begin{array}{c} 0 \\ 1 \\ 0 \\ 0 \end{array} \right)
\end{equation}
\begin{equation}
\ket{2} := \ket{0b10} := \ket{1}_s \otimes \ket{0}_s := \left(\begin{array}{c} 0 \\ 0 \\ 1 \\ 0 \end{array} \right)
\end{equation}
\begin{equation}
\ket{3} := \ket{0b11} := \ket{1}_s \otimes \ket{1}_s := \left(\begin{array}{c} 0 \\ 0 \\ 0 \\ 1 \end{array} \right)
\end{equation}
The $N$ qbit basis states can then be constructed in a similar manner.
A general $N$ qbit state can then be written as a superposition of the
basis states:
\begin{equation}
\ket{\psi} = \sum\limits_{i = 0}^{2^N - 1} c_i \ket{i}
\end{equation}
\begin{equation}
\sum\limits_{i = 0}^{2^N - 1} |c_i|^2 = 1
\end{equation}
FIXME: rewrite this.
One can show that the gates in \ref{ref:singleqbitgates} together with an entanglement gate, such as $CX$ or $CZ$ are enough
to generate an arbitrary $N$ qbit gate\cite[Chapter 4.3]{kaye_ea2007}.
The matrix representation of $CX$ and $CZ$ for two qbits is given by
\begin{equation}
CX(1, 0) = \left(\begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 1 & 0 \end{array}\right)
\end{equation}
\begin{equation}
CZ(1, 0) = \left(\begin{array}{cccc} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & -1 \end{array}\right)
\end{equation}
Where $1$ is the act-qbit and $0$ the control-qbit. In words $CX$ ($CZ$) apply an $X$ ($Z$) gate on the act-qbit,
if the control-qbit is set.
The following notation\cite{dahlberg_ea2019} can be more handy when discussing more qbits:
\begin{equation}\label{eq:CX_pr}
CX(i, j) = \ket{0}\bra{0}_j\otimes I_i + \ket{1}\bra{1}_j \otimes X_i
\end{equation}
\begin{equation}\label{eq:CZ_pr}
CZ(i, j) = \ket{0}\bra{0}_j\otimes I_i + \ket{1}\bra{1}_j \otimes Z_i
\end{equation}
Where $i$ is the act-qbit, $j$ the control-qbit and $I_i$, $Z_i$ are the identity and Pauli $Z$ gate
operating on qbit i. Note that $CX(i, j) = H(i) CZ(i, j) H(i)$ which will be important later.
\subsection{Measurement}
\begin{postulate}
Let $\ket{\psi} = \alpha\ket{\phi_1} \otimes \ket{1}_n + \beta\ket{\phi_0} \otimes \ket{0}_n$ be a state
where $\ket{1}_n, \ket{0}_n$ denote the $n$-th qbit state and $|\alpha|^2 + |\beta|^2 = 1$.
Then the measurement of the $n$-th qbit will yield $\ket{\phi_1} \otimes \ket{1}_n$ with probability
$|\alpha|^2$ and $\ket{\phi_0} \otimes \ket{0}_n$ with probability $|\beta|^2$.
This is called collapse of the wave function.
\end{postulate}
Measuring a qbit will also yield a classical result $0$ or $1$ with the respective probabilities.
\begin{corrolary}
In general the measurement of a qbit is not invertible, in particular it cannot be represented as a
unitary operator.
\end{corrolary}
\begin{proof}
The measuerment in not injective: Measuring both
$\ket{0}$ and $\frac{1}{\sqrt{2}}(\ket{0} + \ket{1}$ (can) map to $\ket{0}$.
Any unitary matrix $U$ has the inverse $U^\dagger \equiv U^{-1}$.
\end{proof}

View File

@@ -0,0 +1,53 @@
% vim: ft=tex
\section{The naive Simulator}
A quite big part of the simulations interesting for students and researchers is not
covered by stabilizer states and stabilizer circuits. In particular the
phase estimation algorithm is essential for many applications. Being able to simulate
such an algorithm is essential for education.
\subsection{Simulator Core}
Recalling \ref{ref:nqbitsystems} an arbitrary $N$ qbit state $\ket{\psi}$ can be written as such:
\begin{equation}
\ket{\psi} = \sum\limits_{i = 0}^{2^N - 1} c_i \ket{i}
\end{equation}
Which yields $2^N$ coefficients $c_i = \braket{\psi}{i}$. These coefficients are used to
store the quantum mechanical state of the simulator and are stored in NumPy arrays \cite{numpy_array}.
They can be modified and viewed without overhead
using python and allow fast modification using so-called NumPy ufuncs\cite{numpy_ufunc}.
A simulator state also contains a classical state which is a length $N$ integer array containing
the measured classical bits with a default value of $-1$.
The gates are implemented as NumPy ufuncs which allows an efficient
manipulation of NumPy arrays using C code. Every gate maps a length $2^N$
\lstinline[basicstyle=\ttfamily, language=Python]{numpy.cdouble} and a length
$N$ \lstinline[basicstyle=\ttfamily, language=Python]{numpy.int8} array to
a length $2^N$ \lstinline[basicstyle=\ttfamily,
language=Python]{numpy.cdouble}, a length $N$ \lstinline[basicstyle=\ttfamily,
language=Python]{numpy.int8} and a \lstinline[basicstyle=\ttfamily,
language=Python]{numpy.uint64} scalar. The \lstinline[basicstyle=\ttfamily,
language=Python]{numpy.cdouble} arrays are the quantum mechanical state before
and after the gate; the \lstinline[basicstyle=\ttfamily,
language=Python]{numpy.int8} arrays are the respective classical states and the
\lstinline[basicstyle=\ttfamily, language=Python]{numpy.uint64} scalar has
a logical one at every bit that has been measured.
\subsection{Implemented Gates}
As stated in \ref{ref:singleqbitsystems} and \ref{ref:nqbitsystems} a just a small set of gates is required to
approximate an arbitrary unitary matrix arbitrarily good. In principle just the $X$, $R_\phi$, $H$ and $CNOT$ gate
would be sufficient for a simulator. As however both $X$ and $Z$ are often used in practice FIXME: CITATION NEEDED
$X$, $Z$, $R_\phi$, $H$ and $CNOT$ are implemented. They can be accessed using
\lstinline[basicstyle=\ttfamily]{pyqcs.X}, \lstinline[basicstyle=\ttfamily]{pyqcs.Z}, \lstinline[basicstyle=\ttfamily]{pyqcs.R},
\lstinline[basicstyle=\ttfamily]{pyqcs.H} and \lstinline[basicstyle=\ttfamily]{pyqcs.C}.
\subsection{Usage}
FIXME
\subsection{Performance}
FIXME

View File

@@ -0,0 +1,409 @@
\section{The Stabilizer Formalism and VOP-Free Graph States}
\subsection{Stabilizers and Stabilizer States}
This chapter discusses the stabilizer formalism that was introduced by Gottesman\cite{gottesman1997}
for quantum error correction but soon proved to be a useful tool to describe a subset of states:
the stabilizer states which can be simulated in polynomial time \cite{gottesman2008}.
\begin{definition}
\begin{equation}
p \in P_n \Rightarrow p = \bigotimes\limits_{i=0}^n p_i \\
\forall i: p_i \in P := \{\pm 1, \pm i\} \cdot \{I, X, Y, Z\}
\end{equation}
Where $X = \left(\begin{array}{cc} 0 & 1 \\ 1 & 0\end{array}\right)$,
$Y = \left(\begin{array}{cc} 0 & i \\ -i & 0\end{array}\right)$ and
$Z = \left(\begin{array}{cc} 1 & 0 \\ 0 & -1\end{array}\right)$ are the Pauli matrices and
$I$ is the identity.
$p \in P_n$ is called a multi-local Pauli operator.
\end{definition}
\begin{definition}
For a group $G$, $g_1, ..., g_n$ are called the generators of $G$ iff $\forall g \in G: g = \prod\limits_{i \in J} g_i$ for a
subsed $J$ of $I = \{1, ..., n\}$. We write $G = \langle g_i \rangle_i$ if G is generated by the $g_i$. The generators $g_i$ are chosen
to be the smallest set of generators of $G$.
\end{definition}
The notation $\langle g_i \rangle_i \equiv \langle g_i \rangle_{i \in I}$ is used used as a shorthand
notation for $\langle \{g_i\}_{i \in I} \rangle$.
\begin{definition}
\label{def:stabilizer}
For a $n$ qbit state $\ket{\psi}$ $\langle S^{(i)} \rangle_{i}$ is called the stabilizer of $\ket{\psi}$ if
\begin{enumerate}
\item{$\forall i = 1, ..., n$ $S^{(i)} \in P_n$}
\item{$\forall i,j = 1, ..., n$ $[S^{(i)}, S^{(j)}] = 0$ $S^{(i)}$ and $S^{(j)}$ commute}
\item{$\forall i = 1, ..., n$ $S^{(i)}\ket{\psi} = +1 \ket{\psi}$}
\end{enumerate}
\end{definition}
\begin{lemma}
For every $\langle S^{(i)} \rangle_i$ fulfilling the first two conditions in definition \ref{def:stabilizer} there exists
a (up to a global phase) unique state $\ket{\psi}$ fulfilling the third condition. This state is called stabilizer state.
\end{lemma}
\begin{proof}
All multi-local Pauli operators are hermitian (observables in terms of quantum mechanics), as the $S^{(i)}$
commute they have a common set of eigenstates. Because each $S^{(i)}$ has eigenvalues $+1, -1$, there
exist $2^n$ eigenstates, one state $\ket{\psi}$ with eigenvalue $+1$ for all $S^{(i)}$. As the dimension of $n$ qbits is $2^n$
the state $\ket{psi}$ is unique up to a global phase.
\end{proof}
One can study the dynamics of stabilizer states using only the stabilizers\cite{nielsen_chuang_2010}. Two important
cases are the unitary transformation of a state and the measurement of a qbit. When applying a unitary gate to a stabilizer
state $\ket{\psi}$ the resulting state will in general be no stabilizer state anymore, however there exists a group of
transformations that map stabilizers to other stabilizers: the Clifford group.
\begin{definition}
\begin{equation}
C_n := \{U \in SU(2) | UpU^\dagger \in P_n \forall p \in P_n\}
\end{equation}
is called the Clifford group on $n$ qbits.
$C_1$ is called the local Clifford group.
\end{definition}
The properties of this group will be discussed later, for the time being is existence is enough.
\begin{lemma}
Let $\ket{\psi}$ be stabilized by $\langle S^{(i)} \rangle_i$, then $U\ket{\psi}$ is stabilized
by $\langle US^{(i)}U^\dagger \rangle_i$.
\end{lemma}
\begin{proof}
$$ U\ket{\psi} = US^{(i)}\ket{\psi} = US^{(i)}U^\dagger U\ket{\psi}$$
So $U\ket{\psi}$ is a $+1$ eigenstate of $US^{(i)}U^\dagger$.
\end{proof}
This is an important insight that is used for simulations\cite{gottesman_aaronson2008}, as
updating the $n$ stabilizers that are a tensor product of $n$ Pauli matrices scales with roughly
$\mathcal{O}(n^2)$ instead of $\mathcal{O}(2^n)$ for the state vector approach.
Every qbit can be measured in the $X, Y$ or $Z$ basis which is a projection using
\begin{equation}
\frac{I + (-1)^s g_a}{2}
\end{equation}
Where $g_a \in \{Z_a, Y_a, X_a\}$ and $s \in \{0, 1\}$. How the stabilizers change when
measuring a qbit is given by the following lemma:
\begin{lemma}
\label{lemma:stab_measurement}
Let $J := \{ S^{(i)} | [g_a, S^{(i)}] \neq 0\}$. Then
\begin{enumerate}
\item{If $J = \{\}$, one value is measured with probability $1$ and the stabilizers are unchanged.}
\item{If $J \neq \{\}$, $1$ and $0$ are measured with probability $\frac{1}{2}$ and after choosing
a $j \in J$ the new state $\ket{\psi'}$ is stabilized by
\begin{equation}
\langle \{(-1)^s g_a\} \cup \{S^{(i)} S^{(j)} | S^{(i)} \in J \setminus \{S^{(j)}\} \} \cup J^c\rangle
\end{equation}}
\end{enumerate}
\end{lemma}
\begin{proof}
\begin{enumerate}
\item{As $g_a$ commutes with all stabilizers, $\ket{\psi}$ is an eigenstate of $g_a$,
so the result of the measurement is deterministic and $\ket{\psi}$ is left unchanged.}
\item{As $g_a$ is a Pauli operator and $S^{(i)} \in J$ are multi-local Pauli operators,
$S^{(i)}$ and $g_a$ anticommute. Choose a $S^{(j)} \in J$. Then
\begin{equation}
\begin{aligned}
P(s=+1) &= \hbox{Tr}\left(\frac{I + g_a}{2}\ket{\psi}\bra{\psi}\right) \\
&= \hbox{Tr}\left(\frac{I + g_a}{2}S^{(j)} \ket{\psi}\bra{\psi}\right)\\
&= \hbox{Tr}\left(S^{(j)}\frac{I - g_a}{2}\ket{\psi}\bra{\psi}\right)\\
&= \hbox{Tr}\left(\frac{I - g_a}{2}\ket{\psi}\bra{\psi}S^{(j)}\right)\\
&= \hbox{Tr}\left(\frac{I - g_a}{2}\ket{\psi}\bra{\psi}\right)\\
&= P(s=-1)
\end{aligned}
\notag
\end{equation}
With $P(s=+1) + P(s=-1) = 1$ follows $P(s=+1) = \frac{1}{2} = P(s=-1)$.
Further for $S^{(i)},S^{(j)} \in J$
\begin{equation}
\begin{aligned}
\frac{I + (-1)^sg_a}{2}\ket{\psi} &= \frac{I + (-1)^sg_a}{2}S^{(j)}S^{(i)} \ket{\psi} \\
&= S^{(j)}\frac{I + (-1)^{s + 1}g_a}{2}S^{(i)} \ket{\psi} \\
&= S^{(j)}S^{(i)}\frac{I + (-1)^{s + 2}g_a}{2}\ket{\psi} \\
&= S^{(j)}S^{(i)}\frac{I + (-1)^sg_a}{2}\ket{\psi}
\end{aligned}
\notag
\end{equation}
the state after measurement is stabilized by $S^{(j)}S^{(i)} i,j \in J$, and by
$S^{(i)} \in J^c\setminus\{a\}$. $g_a$ trivially stabilizes $\ket{\psi'}$.
}
\end{enumerate}
\end{proof}
\subsection{The Vertex Operator-Free Graph States}
In order to understand some essential transformations of graph states it is necessary
to study the vertex operator-free graph states first, partially because the graph states as used in this paper
were derived from the vertex operator-free graph states.
\begin{definition}
\label{def:vop_free_g_state}
A $n$ qbit vertex operator-free graph state $\ket{\overline{G}}$ is associated with a graph $\bar{G} = (V, E)$
by the $n$ operators
\begin{equation}
K^{(i)}_G := X_i \left(\prod\limits_{\{i, j\} \in E} Z_j\right)
\end{equation}
for all $i \in V$ where for some operator $O$ $O_i$ indicates that it acts on the $i$-th qbit.
$\ket{\overline{G}}$ is the $+1$ eigenstate of all $n$ $K^{(i)}_G$.
\end{definition}
\begin{corrolary}
All $K^{(i)}_G$ commute and are hermitian. Therefore they have a common set of eigenstates
(in particular definition \ref{def:vop_free_g_state} is well defined).
In terms of quantum mechanics $K^{(i)}_G$ are observables.
Further as $\ket{\overline{G}}$ is a $+1$ eigenstate of all $n$ $K^{(i)}_G$ which are
multi-local Pauli operators, $\{K^{(i)}_G | i \in \{0, ..., n-1\}\}$ is the stabilizer
of $\ket{\overline{G}}$ and $\ket{\overline{G}}$ is a stabilizer state.
\end{corrolary}
\begin{proof}
As $X_i$ and $Z_i$ are hermitian their product is hermitian.
Consider the case $\{i,j\} \notin E$ first:
\begin{equation}
\begin{aligned}
\left[K^{(i)}_G, K^{(j)}_G\right] = \left[X_i \prod\limits_{\{i, n\} \in E} Z_n, X_j \prod\limits_{\{j, m\} \in E} Z_m\right] = 0
\end{aligned}
\end{equation}
As operators acting on different qbits commute. The case $\{i,j\} \in E$ is slightly less trivial:
\begin{equation}
\begin{aligned}
\left[K^{(i)}_G, K^{(j)}_G\right] &= \left[X_i \left(\prod\limits_{\{i, n\} \in E, n \neq j} Z_n\right) Z_j, X_j \left(\prod\limits_{\{j, m\} \in E, m \neq i} Z_m\right) Z_i\right] \\
&= \left[X_i Z_j \prod\limits_n Z_n, X_j Z_i \prod\limits_m Z_m\right]\\
&= \left(X_i Z_j X_j Z_i - X_j Z_i X_i Z_j\right) \prod\limits_n Z_n \prod\limits_m Z_m \\
&= \left(Z_j X_j X_i Z_i - X_j Z_j Z_i X_i\right) \prod\limits_n Z_n \prod\limits_m Z_m \\
&= \left((-1)^2X_j Z_j Z_i X_i - X_j Z_j Z_i X_i\right) \prod\limits_n Z_n \prod\limits_m Z_m \\
&= 0
\end{aligned}
\end{equation}
as $X$, $Z$ anticommute.
\end{proof}
\begin{lemma}
\begin{equation}
\ket{\overline{G}} = \left(\prod\limits_{\{i,j\} \in E} CZ_{i,j} \right) \left(\prod\limits_{l \in V} H_l\right) \ket{0}
\end{equation}
In particular definitions \ref{def:vop_free_g_state} and \ref{def:graph_state} are consistent, when there are no
vertex operators on the graph state $\ket{G}$.
\end{lemma}
\begin{proof}
Let $\ket{+} := \left(\prod\limits_{l \in V} H_l\right) \ket{0}$ as before. Note that for any $X_i$ $X_i \ket{+} = +1 \ket{+}$.
Set $\ket{\tilde{G}} := \left(\prod\limits_{\{i,j\} \in E} CZ_{i,j} \right)\ket{+}$.
\begin{equation}
\begin{aligned}
K_G^{(i)} \ket{\tilde{G}} & = X_i \left(\prod\limits_{\{i,j\} \in E} Z_j\right)\left(\prod\limits_{\{l,j\} \in E} CZ_{l,j} \right) \ket{+} \\
& = \left(\prod\limits_{\{i,j\} \in E} Z_j\right)X_i\prod\limits_{\{l,j\} \in E}\left( \ket{0}\bra{0}_j \otimes I_l + \ket{1}\bra{1}_j \otimes Z_l\right) \ket{+} \\
& = \left(\prod\limits_{\{i,j\} \in E} Z_j\right)\prod\limits_{\{l,j\} \in E}\left( \ket{0}\bra{0}_j \otimes I_l + (-1)^{\delta_{i,l}}\ket{1}\bra{1}_j \otimes Z_l\right) X_i \ket{+} \\
& = \prod\limits_{\{l,j\} \in E}\left( \ket{0}\bra{0}_j \otimes I_l + (-1)^{2\delta_{i,l}}\ket{1}\bra{1}_j \otimes Z_l\right) \ket{+} \\
& = \prod\limits_{\{l,j\} \in E}\left( \ket{0}\bra{0}_j \otimes I_l + \ket{1}\bra{1}_j \otimes Z_l\right) \ket{+} \\
& = +1 \ket{\tilde{G}}
\end{aligned}
\end{equation}
as $X, Z$ anticommute and $Z\ket{1} = -1\ket{1}$.
\end{proof}
\begin{definition}
Let $\bar{G} = (V, E)$ be a graph as in definition \ref{def:vop_free_g_state}.
For a vertex $i \in V$ $n_i := \{j \in V | \{i,j\} \in E\}$ is called the neighbourhood
of $i$.
\end{definition}
\begin{lemma}
Let $\bar{G}$, $\ket{\bar{G}}$, $K_G^{(i)}$ be as in definition \ref{def:vop_free_g_state} and for
a vertex $a \in V$ set
\begin{equation}
M_a := \sqrt{-iX_a} \prod\limits_{j\in n_a} \sqrt{iZ_j}
\end{equation}
Then the graph $\bar{G}'$ associated with $\ket{\bar{G}'} = M_a\ket{\bar{G}}$ is changed according to
the following equations:
\begin{equation}
\begin{aligned}
n_a' &= n_a \\
n_j' &= n_j, \hbox{ if } j \notin n_a\\
n_j' &= (n_j \cup n_a) \setminus (n_j \cap n_a), \hbox{ if } j \in n_a
\end{aligned}
\end{equation}
I.e. the neighbourhood of $a$ is toggled.
\end{lemma}
\begin{proof}
$\ket{\bar{G}'}$ is stabilized by $\langle M_a K_G^{(i)} M_a^\dagger \rangle_i$, so it is sufficient
to study how the $ K_G^{(i)}$ change under $M_a$.
At first note that $[K_G^{(a)}, M_a] = 0$ and $\forall i\in V\setminus n_a$ $[K_G^{(i)}, M_a] = 0$,
so the first two equations follow trivially. For $j \in n_a$ set
\begin{equation}
\begin{aligned}
S^{(j)} &= M_a K_G^{(j)} M_a^\dagger \\
&= \sqrt{-iX_a} \left(\prod\limits_{l \in n_a \setminus \{j\}} \sqrt{iZ_l}\right)
\sqrt{iZ_j} K_G^{(j)} \sqrt{iZ_j}^\dagger
\left(\prod\limits_{l \in n_a \setminus \{j\}} \sqrt{iZ_l}^\dagger\right)
\sqrt{-iX_a}^\dagger \\
&= \sqrt{-iX_a} \left(\prod\limits_{l \in n_a \setminus \{j\}} \sqrt{iZ_l}\right)\sqrt{iZ_j}
X_j \left(\prod\limits_{m \in n_j \setminus \{a\}} Z_m\right) Z_a
\sqrt{iZ_j}^\dagger
\left(\prod\limits_{l \in n_a \setminus \{j\}} \sqrt{iZ_l}^\dagger\right)
\sqrt{-iX_a}^\dagger \\
&= \sqrt{iZ_j} X_j\sqrt{iZ_j}^\dagger\left(\prod\limits_{m \in n_j \setminus \{a\}} Z_m\right)
\sqrt{-iX_a} Z_a \sqrt{-iX_a}^\dagger \\
&= (-1)^2 Y_j Y_a \left(\prod\limits_{m \in n_j \setminus \{a\}} Z_m\right)\\
&= (-1)i^2 Z_j X_a X_j Z_a \left(\prod\limits_{m \in n_j \setminus \{a\}} Z_m\right)
\end{aligned}
\end{equation}
One can now construct a new set of $K_{G'}^{(i)}$ s.t. $M_a \ket{\bar{G}}$ is the $+1$ eigenvalue
of the new $K_{G'}^{(i)}$. It is clear that $\forall j \notin n_a$ $K_{G'}^{(j)} = K_G^{(j)}$.
To construct the $K_{G'}^{(i)}$ let for some $j \in n_a$ $n_a = \{j\} \cup I$ and $n_j = \{a\} \cup J$.
Then
\begin{equation}
\begin{aligned}
S^{(j)} &= Z_j X_a X_j Z_a \prod\limits_{l \in J} Z_l\\
&= Z_j X_a X_j Z_a \left(\prod\limits_{l \in J} Z_l\right)
\left(\prod\limits_{l \in I}Z_l\right)
\left(\prod\limits_{l \in I}Z_l\right) \\
&= Z_j X_a X_j Z_a \left(\prod\limits_{l \in ((I\cup J) \setminus (I\cap J))} Z_L\right)
\left(\prod\limits_{l \in I}Z_l\right) \\
&= K_{G'}^{(a)} K_{G'}^{(j)} \\
&= K_{G}^{(a)} K_{G'}^{(j)}
\end{aligned}
\end{equation}
Using this ine can show that $\ket{\bar{G}'}$ is a $+1$ eigenstate of $K_{G'}^{(j)}$:
\begin{equation}
\ket{\bar{G}'} = S^{(j)}\ket{\bar{G}'} = K_{G}^{(a)} K_{G'}^{(j)}\ket{\bar{G}'}
= K_{G'}^{(j)}K_{G}^{(a)}\ket{\bar{G}'} = K_{G'}^{(j)}\ket{\bar{G}'}
\end{equation}
Because $\{K_G^{(i)} | i \notin n_a\} \cup \{S^{(i)} | i\in n_a\}$ and
$\{K_G^{(i)} | i \notin n_a\} \cup \{K_{G'}^{(i)} | i\in n_a \}$ are both $n$ commuting
multi-local Pauli operators where the $S^{(i)}$ can be generated from the $K_{G'}^{(i)}$
and $\ket{\bar{G}'}$ is a $+1$ eigenstate of $K_{G'}^{(j)}$
$\langle\{K_G^{(i)} | i \notin n_a\} \cup \{K_{G'}^{(i)} | i\in n_a \}\rangle$
are the stabilizers of $\ket{\bar{G}'}$ and the associated graph is changed as given
in the third equation.
\end{proof}
These insights can be used to understand how measurement works on the vop-free graph state \cite{nielsen_chuang_2010}:
Consider a state $\ket{\psi}$ that is stabilized by $g_1, ... g_n$ and a Pauli operator $g \in \{Z_a, Y_a, X_a\}$
that is to be measured.
Recalling lemma \ref{lemma:stab_measurement} the following relations follow immideately:
\begin{enumerate}
\item{For $g = X_a$ if $a$ is an isolated qbit $+1$ is measured with probability $1$
and the state $\ket{\bar{G}}$ is unchanged.}
\item{For $g = X_a$ and $a$ is non-isolated, choose $b \in n_a$ and the new stabilizers are
\begin{equation}
\langle \{(-1)^sX_a\}
\cup \{K_G^{(b)}K_G^{(i)} | i \in n_a \setminus \{b\}\}
\cup \{K_G^{(i)} | i \in V \setminus n_a \setminus \{a\}\} \rangle
\end{equation}}
\item{For $g = Z_a$ the new stabilizers are
\begin{equation}
\langle \{(-1)^sZ_a\}
\cup \{K_G^{(i)} | i \in V \setminus n_a\} \rangle
\end{equation}}
\item{For $g = Y_a$ the new stabilizers are
\begin{equation}
\langle \{(-1)^sY_a\}
\cup \{K_G^{(a)}K_G^{(i)} | i \in n_a\}
\cup \{K_G^{(i)} | i \in V \setminus n_a \setminus \{a\}\} \rangle
\end{equation}}
\end{enumerate}
The states after the measurement are in general no vop-free graph states anymore,
the following discussion will allow to construct new vop-free graph states and
Clifford transformations from the vop-free graph state to the resulting state.
In the case $g = X_a$ and $n_a = \{\}$ the graph is obviously unchanged.
\begin{lemma}
\label{lemma:Z_measurement}
\begin{enumerate}
\item{For a result $+Z_a$ the new state is
$\ket{+_Z}_a \otimes \ket{\bar{G}'}$
with $\ket{\bar{G}'}$ being stabilized by $K_G^{(i)}$ for
$i \notin n_a$ and $Z_aK_G^{(i)}$ for $i \in n_a$.
}
\item{For a result $-Z_a$ the new state is $U\ket{-_Z}_a \otimes \ket{\bar{G}'}$
with $\ket{\bar{G}'}$ being stabilized by $K_G^{(i)}$ for $i \notin n_a$ and $Z_aK_G^{(i)}$ for $i \in n_a$
and $U = \prod\limits_{i \in n_a}Z_i$.}
\end{enumerate}
\end{lemma}
\begin{proof}
\begin{enumerate}
\item{
It is trivial that $Z_a$ and $K_G^{(i)} i \neq a$ stabilize $\ket{+_Z}_a \otimes \ket{\bar{G}'}$.
$Z_aK_G^{(i)}$ for $i \in n_a$ do not act on $a$, so $\ket{\bar{G}'}$ is well-defined.
}
\item{
The state $\ket{-_Z}_a \otimes \ket{\bar{G}'}$ is the $-1$ eigenstate of $K_G^{(i)}$ for all
$i \in n_a$. This can be corrected by transforming $K_G^{(i)}$ to $-K_G^{(i)} = Z_i K_G^{(i)} Z_i^\dagger$
which stabilizes the state $U\ket{-_Z}_a \otimes \ket{\bar{G}'}$.
}
\end{enumerate}
\end{proof}
\begin{lemma}
When $Y_a$ is measured with a result $s \in \{0, 1\}$ the state after the measurement is
\begin{equation}
\ket{(-1)^s_Y}_a \otimes U_{Y,s} \ket{\bar{G}'}
\end{equation}
\begin{equation}
U_{Y,s} = \prod\limits_{l \in n_a} \sqrt{(-1)^s iZ_l}
\end{equation}
Where $\ket{\bar{G}'}$ is associated with the graph $G' = (V \setminus \{a\}, E')$
with $E'$ being changed according to $\forall i \in n_a$ $n_i' = (n_i \cup n_a) \setminus (n_i \cap n_a) \setminus \{a\}$.
\end{lemma}
\begin{proof}
It is known that $(-1)^s Y_a$ has to stabilize the state after measurement,
further $\forall j \in n_a$ $S^{(j)} = K_G^{(a)} K_G^{(j)}$, are the stabilizers of the new
state around the measured qbit and the stabilizers $K_G^{(j)}, j \notin n_a$ are unchanged.
Let $j \in n_a$ and $n_a =: \{j\} \cup I$, $n_j =: \{a\} \cup J$.
\begin{equation}
\begin{aligned}
S^{(i)} &= K_G^{(a)} K_G^{(j)} \\
&= X_a \left(\prod\limits_{l \in n_a} Z_l\right)X_j\left(\prod\limits_{l\in n_j} Z_l\right) \\
&= X_a Z_a Z_j X_j \left(\prod\limits_{l \in I} Z_l\right)\left(\prod\limits_{l \in J} Z_l\right)\\
&= X_a Z_a Z_j X_j \left(\prod\limits_{l \in (I \cup J)\setminus(I\cap J)} Z_l\right) \\
&= iY_a Z_j X_j \left(\prod\limits_{l \in (I \cup J)\setminus(I\cap J) \setminus \{a\}} Z_l\right) \\
&= (-1)^si S^{(a)} Z_j X_j \left(\prod\limits_{l \in (I \cup J)\setminus(I\cap J)\setminus\{a\}} Z_l\right) \\
&= S^{(a)} \sqrt{(-1)^siZ_j} K_{G'}^{(j)} \sqrt{(-1)^siZ_j}^\dagger
\end{aligned}
\end{equation}
with $G'$ as above, the rest of the argument is analogous to lemma \ref{lemma:Z_measurement}.
\end{proof}

Binary file not shown.

110
notes/main.bib Normal file
View File

@@ -0,0 +1,110 @@
@online{
numpy,
url={https://numpy.org/},
urldate={19.09.2019},
author={NumPy developers},
title={NumPy},
year=2019
}
@online{
numpy_array,
url={https://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html},
urldate={19.09.2019},
author={NumPy developers},
title={numpy.array -- NumPy v1.17 Manual},
year=2019
}
@online{
numpy_ufunc,
url={https://docs.scipy.org/doc/numpy/reference/ufuncs.html},
urldate={19.09.2019},
author={NumPy developers},
title={Universal functions (ufunc) -- NumPy v1.17 Manual},
year=2019
}
@article{
andersbriegel2005,
title={Fast simulation of stabilizer circuits using a graph state representation},
author={Simon Anders and Hans J. Briegel},
year=2005
}
@book{
wuest1995,
title={Höhere Mathematik Für Physiker Teil 1},
author={Rainer Wüst},
year=1995,
publisher={de Gruyter}
}
@book{
kaye_ea2007,
title={An Introduction to Quantum Computing},
author={Phillip Kaye, Raymond Laflamme and Michelle Mosca},
year=2007,
publisher={Oxford University Press}
}
@article{
gottesman2009,
title={An Introduction to Quantum Error Correction and Fault-Tolerant Quantum Computation},
year=2009,
author={Daniel Gottesman},
note={https://arxiv.org/abs/0904.2557v1}
}
@article{
gottesman1997,
title={Stabilizer Codes and Quantum Error Correction},
year=1997,
author={Daniel Gottesman},
note={https://arxiv.org/abs/quant-ph/9705052}
}
@article{
gottesman_aaronson2008,
title={Improved Simulation of Stabilizer Circuits},
year=2008,
author={Daniel Gottesman, Scott Aaronson},
note={https://arxiv.org/abs/quant-ph/0406196v5}
}
@article{
schlingenmann2001,
title={Stabilizer codes can be realized as graph codes},
year=2001,
author={D. Schlingemann},
note={https://arxiv.org/abs/quant-ph/0111080v1}
}
@article{
vandennest_ea2004,
title={Graphical description of the action of local Clifford transformations on graph states},
year=2004,
author={Maarten Van den Nest et al.},
note={PhysRevA.69.022316}
}
@article{
dahlberg_ea2019,
title={Counting single-qubit Clifford equivalent graph states is \#P-Complete},
year=2019,
author={Axel Dahlberg et al.},
note={https://arxiv.org/abs/1907.08024v1}
}
@book{
nielsen_chuang_2010,
title={Quantum Computation and Quantum Information},
year=2010,
author={Michael A. Nielsen, Isaac L. Chuang},
publisher={CAMBRIDGE UNIVERSITY PRESS},
note={www.cambridge.org/9781107002173}
}
@article{
gottesman2008,
title={The Heisenberg Representation of Quantum Computers},
year=2008,
author={Daniel Gottesman},
note={https://arxiv.org/abs/quant-ph/9807006}
}

66
notes/main.tex Normal file
View File

@@ -0,0 +1,66 @@
%\documentclass[a4paper,12pt,oneside]{scrreprt}
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{amssymb, amsthm}
\usepackage{setspace}
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{geometry}
\usepackage{enumerate}
\usepackage{physics}
\usepackage{listings}
\usepackage{struktex}
\geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}
\newtheorem{definition}{Definition}
\newtheorem{postulate}{Postulate}
\newtheorem{corrolary}{Corrolary}
\newtheorem{lemma}{Lemma}
\newtheorem{theorem}{Theorem}
\numberwithin{equation}{section}
\title{Development of an Extensible Quantum Computing
Simulator with a Focus on Simulation in the Graph Formalism }
\author{Daniel Knüttel}
\date{22.09.2019}
\begin{document}
\maketitle
%\frontmatter
\tableofcontents
\section{Acknowledgements}
--
\section{Abstract}
--
%\mainmatter
\include{chapters/introduction}
\include{chapters/introduction_qc}
\include{chapters/naive_simulator}
\include{chapters/stabilizer}
\include{chapters/graph_simulator}
\section{Appendix}
\subsection{Computing the Local Clifford Group and the Products of its Elements}
%\include{chapters/C_L_elements_and_products}
%\backmatter
\bibliographystyle{unsrt}
\bibliography{main}{}
\end{document}