fixed a lot of stuff
|
@ -3,6 +3,9 @@ import matplotlib
|
|||
import numpy as np
|
||||
import json
|
||||
|
||||
matplotlib.rc('font', **{'family': 'serif', 'serif': ['Computer Modern']})
|
||||
matplotlib.rc('text', usetex=True)
|
||||
|
||||
matplotlib.rcParams.update({'errorbar.capsize': 2})
|
||||
|
||||
results_naive = np.genfromtxt("qbit_scaling_naive.csv")
|
||||
|
|
|
@ -3,6 +3,9 @@ import matplotlib
|
|||
import numpy as np
|
||||
import json
|
||||
|
||||
matplotlib.rc('font', **{'family': 'serif', 'serif': ['Computer Modern']})
|
||||
matplotlib.rc('text', usetex=True)
|
||||
|
||||
matplotlib.rcParams.update({'errorbar.capsize': 2})
|
||||
|
||||
results_naive = np.genfromtxt("qbit_scaling_naive.csv")
|
||||
|
|
|
@ -4,6 +4,8 @@ import matplotlib.pyplot as plt
|
|||
import numpy as np
|
||||
import json
|
||||
|
||||
matplotlib.rc('font', **{'family': 'serif', 'serif': ['Computer Modern']})
|
||||
matplotlib.rc('text', usetex=True)
|
||||
matplotlib.rcParams.update({'errorbar.capsize': 2})
|
||||
|
||||
results_graph0 = np.genfromtxt("circuit_scaling_graph1.csv")
|
||||
|
|
|
@ -4,6 +4,8 @@ import matplotlib.pyplot as plt
|
|||
import numpy as np
|
||||
import json
|
||||
|
||||
matplotlib.rc('font', **{'family': 'serif', 'serif': ['Computer Modern']})
|
||||
matplotlib.rc('text', usetex=True)
|
||||
matplotlib.rcParams.update({'errorbar.capsize': 2})
|
||||
|
||||
results_graph0 = np.genfromtxt("circuit_scaling_graph0.csv")
|
||||
|
|
|
@ -4,6 +4,8 @@ import matplotlib.pyplot as plt
|
|||
import numpy as np
|
||||
import json
|
||||
|
||||
matplotlib.rc('font', **{'family': 'serif', 'serif': ['Computer Modern']})
|
||||
matplotlib.rc('text', usetex=True)
|
||||
matplotlib.rcParams.update({'errorbar.capsize': 2})
|
||||
|
||||
results_graph0 = np.genfromtxt("circuit_scaling_graph0_measurements.csv")
|
||||
|
|
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 153 KiB |
Before Width: | Height: | Size: 227 KiB After Width: | Height: | Size: 161 KiB |
Before Width: | Height: | Size: 183 KiB After Width: | Height: | Size: 133 KiB |
|
@ -6,26 +6,26 @@ many companies and institutions working on building and using quantum computers
|
|||
\cite{ibmq}\cite{intelqc}\cite{microsoftqc}\cite{dwavesys}\cite{lrzqc}\cite{heise25_18}.
|
||||
One important topic in this research is quantum error correction
|
||||
\cite{nielsen_chuang_2010}\cite{gottesman2009}\cite{gottesman1997}\cite{shor1995}
|
||||
that will allow the execution of arbitrarily long quantum circuits \cite{nielsen_chuang_2010}. One
|
||||
important class of quantum error correction strategies are stabilizer codes
|
||||
that will allow the execution of arbitrarily long quantum circuits \cite{nielsen_chuang_2010}.
|
||||
A notable class of quantum error correction strategies are stabilizer codes
|
||||
\cite{gottesman2009}\cite{gottesman1997} that can be simulated exponentially
|
||||
faster than general quantum circuits
|
||||
\cite{gottesman_aaronson2008}\cite{CHP}\cite{andersbriegel2005}.
|
||||
|
||||
Being able to simulate large stabilizer states is particularly interesting for
|
||||
exploring quantum error correction strategies as fault tolerant quantum computing
|
||||
requires several layers of encoding - so called concatenated codes \cite{nielsen_chuang_2010} -
|
||||
that use many physical qbits organized in several layers to encode one logical qbit.
|
||||
|
||||
One particularly efficient way to simulate stabilizer states is the graphical
|
||||
representation \cite{andersbriegel2005} that has been studied extensively in
|
||||
the context of both quantum error correction and quantum information theory
|
||||
\cite{schlingenmann2001}\cite{dahlberg_ea2019}\cite{vandennest_ea2004}\cite{hein_eisert_briegel2008}.
|
||||
This paper describes the development of a quantum computing simulator
|
||||
using both the usual dense state vector representation for a general state
|
||||
and a graphical representation for stabilizer states. After giving some introduction
|
||||
to quantum computing some basic properties of stabilizer states and their
|
||||
and a graphical representation for stabilizer states. After giving an introduction
|
||||
to quantum computing, some basic properties of stabilizer states and their
|
||||
dynamics are elucidated. Using this the graphical representation is introduced
|
||||
and some operations on the graphical states are explained. Following is
|
||||
and notable operations on the graphical states are explained. Following is
|
||||
a chapter describing the implementation of these techniques and some performance
|
||||
analysis.
|
||||
|
||||
Being able to simulate large stabilizer states is particularly interesting for
|
||||
exploring quantum error correction strategies as fault tolerant quantum computing
|
||||
requires several layers of encoding - so called concatenated codes \cite{nielsen_chuang_2010} -
|
||||
that require many physical qbits to encode one logical qbit.
|
||||
|
|
|
@ -214,6 +214,8 @@ As mentioned in \ref{ref:many_qbits} one can approximate an arbitrary $n$-qbit
|
|||
gate $U$ as a product of some single-qbit gates and either $CX$ or $CZ$.
|
||||
Writing (possibly huge) products of matrices is quite unpractical and
|
||||
unreadable. To address this problem quantum circuits have been introduced.
|
||||
The quantum circuits introduced here follow the conventions from
|
||||
\cite{nielsen_chuang_2010}.
|
||||
These represent the qbits as a horizontal line and a gate acting on a qbit is
|
||||
a box with a name on the respective line. Quantum circuits are read from
|
||||
left to right. This means that a gate $U_i = Z_i X_i H_i$ has the
|
||||
|
@ -244,6 +246,15 @@ Several qbits can be abbreviated by writing a slash on the qbit line:
|
|||
}
|
||||
\]
|
||||
|
||||
Measurements are denoted using a special "gate", the classical result
|
||||
is written as double lines:
|
||||
|
||||
\[
|
||||
\Qcircuit @C=1em @R=.7em {
|
||||
& \gate{H} & \gate{X} & \qw & \meter & \cw \\
|
||||
}
|
||||
\]
|
||||
|
||||
|
||||
\section{Quantum Algorithms}
|
||||
\label{ref:quantum_algorithms}
|
||||
|
|
BIN
thesis/cover.png
Before Width: | Height: | Size: 183 KiB After Width: | Height: | Size: 133 KiB |
|
@ -1,4 +1,4 @@
|
|||
\documentclass[a4paper,12pt,numbers=noenddot]{scrreprt}
|
||||
\documentclass[a4paper,12pt,numbers=noenddot,egregdoesnotlikesansseriftitles]{scrreprt}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{amssymb, amsthm}
|
||||
|
@ -52,18 +52,18 @@ Supervised by Prof. Dr. Christoph Lehner}
|
|||
|
||||
{\LARGE University of Regensburg\par}
|
||||
{\Large Institute I - Theoretical Physics\par}
|
||||
\vspace{1cm}
|
||||
\vspace{0.7cm}
|
||||
{\Large Bachelor Thesis\par}
|
||||
\vspace{1cm}
|
||||
\vspace{0.7cm}
|
||||
{\huge\bfseries An Efficient Quantum Computing Simulator using a Graphical Description for Many-Qbit Systems \par}
|
||||
\vspace{1cm}
|
||||
\vspace{0.7cm}
|
||||
{\Large\itshape Daniel Knüttel\par}
|
||||
|
||||
\includegraphics[width=\textwidth]{cover.png}
|
||||
|
||||
\vfill
|
||||
{\Large\itshape Supervised by \par
|
||||
Dr. Christoph Lehner}
|
||||
Prof. Dr. Christoph Lehner}
|
||||
\vfill
|
||||
{\large 10.04.2020}
|
||||
\end{titlepage}
|
||||
|
@ -82,6 +82,9 @@ Supervised by Prof. Dr. Christoph Lehner}
|
|||
\include{chapters/appendix}
|
||||
\end{appendices}
|
||||
|
||||
\newpage
|
||||
\listoffigures
|
||||
|
||||
\bibliographystyle{unsrt}
|
||||
\bibliography{main}{}
|
||||
|
||||
|
|