some work

This commit is contained in:
Daniel Knüttel 2019-10-16 07:37:49 +02:00
parent 3519606f64
commit 37cb33b5b4
3 changed files with 22 additions and 12 deletions

View File

@ -3,7 +3,8 @@ pdflatex=xelatex
bibtex=bibtex bibtex=bibtex
chapters = chapters/introduction.tex \ chapters = chapters/introduction.tex \
chapters/naive_simulator.tex chapters/naive_simulator.tex \
chapters/introduction_qc.tex
all: main.pdf all: main.pdf

View File

@ -1,3 +1,4 @@
% vim: ft=tex
\section{The naive Simulator} \section{The naive Simulator}
A quite big part of the simulations interesting for students and researchers is not A quite big part of the simulations interesting for students and researchers is not
@ -5,16 +6,17 @@ covered by stabilizer states and stabilizer circuits. In particular the
phase estimation algorithm is essential for many applications. Being able to simulate phase estimation algorithm is essential for many applications. Being able to simulate
such an algorithm is essential for education. such an algorithm is essential for education.
\subsection{Core Design} \subsection{Simulator Core}
The core of the simulator are states represented as numpy arrays \cite{numpy_array} Recalling \ref{ref:nqbitsystems} an arbitrary state $\ket{\psi}$ can be written as such:
as a both fast, safe and handy storage. They can be modified and viewed without overhead
$$ \ket{\psi} = \sum\limits_{i = 0}^{2^N - 1} c_i \ket{i} $$
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}. using python and allow fast modification using so-called NumPy ufuncs\cite{numpy_ufunc}.
All gates are implemented as NumPy ufuncs and map an $N$ qbit simulator state consisting A simulator state also contains a classical state which is a length $N$ integer array containing
of a $2^N$ dimensional quantum mechanical state and an $N$ dimensional classical state the measured classical bits with a default value of $-1$.
to a new $2^N$ dimensional quantum mechanical state and an $N$ dimensional classical state.
A $N$ qbit quantum mechanical state is the outer (kronecker) product of the $N$ single qbuit
state FIXME: source. The
The gates are implemented as NumPy ufuncs which allows

View File

@ -2,14 +2,19 @@
\documentclass[a4paper,12pt]{scrartcl} \documentclass[a4paper,12pt]{scrartcl}
\usepackage[utf8]{inputenc} \usepackage[utf8]{inputenc}
\usepackage{graphicx} \usepackage{graphicx}
\usepackage{amssymb} \usepackage{amssymb, amsthm}
\usepackage{setspace} \usepackage{setspace}
\usepackage{amsmath} \usepackage{amsmath}
\usepackage{hyperref} \usepackage{hyperref}
\usepackage{geometry} \usepackage{geometry}
\usepackage{enumerate} \usepackage{enumerate}
\usepackage{physics}
\geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm} \geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}
\newtheorem{definition}{Definition}
\newtheorem{postulate}{Postulate}
\title{Development of an Extensible Quantum Computing \title{Development of an Extensible Quantum Computing
Simulator with a Focus on Simulation in the Graph Formalism } Simulator with a Focus on Simulation in the Graph Formalism }
\author{Daniel Knüttel} \author{Daniel Knüttel}
@ -32,6 +37,8 @@ Simulator with a Focus on Simulation in the Graph Formalism }
\include{chapters/introduction} \include{chapters/introduction}
\include{chapters/introduction_qc}
\include{chapters/naive_simulator} \include{chapters/naive_simulator}
%\backmatter %\backmatter