diff --git a/citations.bib b/citations.bib index 7e2f8a6..56b8f01 100644 --- a/citations.bib +++ b/citations.bib @@ -1 +1,259 @@ -% Place citations here, in bibtex format \ No newline at end of file +@book{Homer2001, + doi = {10.1007/978-1-4757-3544-4}, + url = {https://doi.org/10.1007/978-1-4757-3544-4}, + year = {2001}, + publisher = {Springer New York}, + author = {Steven Homer and Alan L. Selman}, + title = {Computability and Complexity Theory} +} + +@book{Nielsen2012, + doi = {10.1017/cbo9780511976667}, + url = {https://doi.org/10.1017/cbo9780511976667}, + year = {2012}, + month = jun, + publisher = {Cambridge University Press}, + author = {Michael A. Nielsen and Isaac L. Chuang}, + title = {Quantum Computation and Quantum Information} +} + +@book{arora2009computational, + title = {Computational Complexity: A Modern Approach}, + author = {Arora, S. and Barak, B.}, + isbn = {9780521424264}, + lccn = {2009002789}, + url = {https://books.google.pt/books?id=8Wjqvsoo48MC}, + year = {2009}, + publisher = {Cambridge University Press} +} + +@inproceedings{Bernstein1993, + doi = {10.1145/167088.167097}, + url = {https://doi.org/10.1145/167088.167097}, + year = {1993}, + publisher = {{ACM} Press}, + author = {Ethan Bernstein and Umesh Vazirani}, + title = {Quantum complexity theory}, + booktitle = {Proceedings of the twenty-fifth annual {ACM} symposium on Theory of computing - {STOC} {\textquotesingle}93} +} + +@inproceedings{Chen2017, + author = {Aaronson, Scott and Chen, Lijie}, + title = {Complexity-Theoretic Foundations of Quantum Supremacy Experiments}, + year = {2017}, + isbn = {9783959770408}, + publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik}, + address = {Dagstuhl, DEU}, + abstract = {In the near future, there will likely be special-purpose quantum computers with 40--50 high-quality qubits. This paper lays general theoretical foundations for how to use such devices to demonstrate "quantum supremacy": that is, a clear quantum speedup for some task, motivated by the goal of overturning the Extended Church-Turing Thesis as confidently as possible.First, we study the hardness of sampling the output distribution of a random quantum circuit, along the lines of a recent proposal by the Quantum AI group at Google. We show that there's a natural average-case hardness assumption, which has nothing to do with sampling, yet implies that no polynomial-time classical algorithm can pass a statistical test that the quantum sampling procedure's outputs do pass. Compared to previous work -- for example, on BosonSampling and IQP -- the central advantage is that we can now talk directly about the observed outputs, rather than about the distribution being sampled.Second, in an attempt to refute our hardness assumption, we give a new algorithm, inspired by Savitch's Theorem, for simulating a general quantum circuit with n qubits and depth d in polynomial space and dO(n) time. We then discuss why this and other known algorithms fail to refute our assumption.Third, resolving an open problem of Aaronson and Arkhipov, we show that any strong quantum supremacy theorem -- of the form "if approximate quantum sampling is classically easy, then the polynomial hierarchy collapses"-- must be non-relativizing. This sharply contrasts with the situation for exact sampling.Fourth, refuting a conjecture by Aaronson and Ambainis, we show that there is a sampling task, namely Fourier Sampling, with a 1 versus linear separation between its quantum and classical query complexities.Fifth, in search of a "happy medium" between black-box and non-black-box arguments, we study quantum supremacy relative to oracles in P/poly. Previous work implies that, if one-way functions exist, then quantum supremacy is possible relative to such oracles. We show, conversely, that some computational assumption is needed: if SampBPP = SampBQP and NP ⊆ BPP, then quantum supremacy is impossible relative to oracles with small circuits.}, + booktitle = {Proceedings of the 32nd Computational Complexity Conference}, + articleno = {22}, + numpages = {67}, + keywords = {computational complexity, quantum supremacy, quantum computing}, + location = {Riga, Latvia}, + series = {CCC '17} +} + +@inproceedings{Shor1994, + doi = {10.1109/sfcs.1994.365700}, + url = {https://doi.org/10.1109/sfcs.1994.365700}, + publisher = {{IEEE} Comput. Soc. Press}, + author = {P.W. Shor}, + title = {Algorithms for quantum computation: discrete logarithms and factoring}, + booktitle = {Proceedings 35th Annual Symposium on Foundations of Computer Science}, + year = {1994} +} + +@unpublished{Kitaev1995, + title = {Quantum measurements and the Abelian Stabilizer Problem}, + author = {Kitaev, A. Yu.}, + year = {1995}, + eprint = {9511026}, + doi = {10.48550/ARXIV.QUANT-PH/9511026}, + archiveprefix = {arXiv}, + primaryclass = {quant-ph}, + note = {\url{https://arxiv.org/abs/quant-ph/9511026}}, + keywords = {Quantum Physics (quant-ph), FOS: Physical sciences, FOS: Physical sciences}, + copyright = {Assumed arXiv.org perpetual, non-exclusive license to distribute this article for submissions made before January 2004} +} + +@article{arute2019, + title = {Quantum supremacy using a programmable superconducting processor}, + author = {Arute, Frank and Arya, Kunal and Babbush, Ryan and Bacon, Dave and Bardin, Joseph C and Barends, Rami and Biswas, Rupak and Boixo, Sergio and Brandao, Fernando GSL and Buell, David A and others}, + journal = {Nature}, + volume = {574}, + number = {7779}, + pages = {505--510}, + year = {2019}, + publisher = {Nature Publishing Group} +} + +@article{Terhal2018, + doi = {10.1038/s41567-018-0131-y}, + url = {https://doi.org/10.1038/s41567-018-0131-y}, + year = {2018}, + month = apr, + publisher = {Springer Science and Business Media {LLC}}, + volume = {14}, + number = {6}, + pages = {530--531}, + author = {Barbara M. Terhal}, + title = {Quantum supremacy, here we come}, + journal = {Nature Physics} +} + +@inproceedings{Haner2017, + doi = {10.1145/3126908.3126947}, + url = {https://doi.org/10.1145/3126908.3126947}, + year = {2017}, + month = nov, + publisher = {{ACM}}, + author = {Thomas H\"{a}ner and Damian S. Steiger}, + title = {0.5 petabyte simulation of a 45-qubit quantum circuit}, + booktitle = {Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis} +} + +@unpublished{Markov2018, + title = {Quantum Supremacy Is Both Closer and Farther than It Appears}, + author = {Igor Markov and Aneeqa Fatima and Sergei Isakov and Sergio Boixo}, + year = {2018}, + eprint = {1807.10749}, + archiveprefix = {arXiv}, + primaryclass = {quant-ph}, + note = {\url{https://arxiv.org/abs/1807.10749}} +} + +@article{Bravyi2016, + doi = {10.1103/physrevlett.116.250501}, + url = {https://doi.org/10.1103/physrevlett.116.250501}, + year = {2016}, + month = jun, + publisher = {American Physical Society ({APS})}, + volume = {116}, + number = {25}, + author = {Sergey Bravyi and David Gosset}, + title = {Improved Classical Simulation of Quantum Circuits Dominated by Clifford Gates}, + journal = {Physical Review Letters} +} + +@article{VandenNest2010, + doi = {10.26421/qic10.3-4-6}, + url = {https://doi.org/10.26421/qic10.3-4-6}, + year = {2010}, + month = mar, + publisher = {Rinton Press}, + volume = {10}, + number = {3{\&}4}, + pages = {258--271}, + author = {M. Van den Nest}, + title = {Classical simulation of quantum computation, the gottesman-Knill theorem, and slightly beyond}, + journal = {Quantum Information and Computation} +} + +@book{Gottesman1999, + title = {Group22: Proceedings of the XXII International Colloquium on Group Theoretical Methods in Physics, Hobart, July 13-17, 1998}, + author = {Corney, S.P. and Delbourgo, R. and Jarvis, P.D.}, + pages = {{32}--{43}}, + isbn = {9781571460547}, + series = {International Press lectures and conference proceedings in physics}, + url = {https://books.google.pt/books?id=YPH4PgAACAAJ}, + year = {1999}, + publisher = {International Press} +} + +@article{Gottesman2004, + title = {Improved simulation of stabilizer circuits}, + author = {Aaronson, Scott and Gottesman, Daniel}, + journal = {Phys. Rev. A}, + volume = {70}, + issue = {5}, + pages = {052328}, + numpages = {14}, + year = {2004}, + month = {Nov}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevA.70.052328}, + url = {https://link.aps.org/doi/10.1103/PhysRevA.70.052328} +} + +@article{Bravyi2005, + doi = {10.1103/physreva.71.022316}, + url = {https://doi.org/10.1103/physreva.71.022316}, + year = {2005}, + month = feb, + publisher = {American Physical Society ({APS})}, + volume = {71}, + number = {2}, + author = {Sergey Bravyi and Alexei Kitaev}, + title = {Universal quantum computation with ideal Clifford gates and noisy ancillas}, + journal = {Physical Review A} +} + +@article{DeRaedt2019, + doi = {10.1016/j.cpc.2018.11.005}, + url = {https://doi.org/10.1016/j.cpc.2018.11.005}, + year = {2019}, + month = apr, + publisher = {Elsevier {BV}}, + volume = {237}, + pages = {47--61}, + author = {Hans De Raedt and Fengping Jin and Dennis Willsch and Madita Willsch and Naoki Yoshioka and Nobuyasu Ito and Shengjun Yuan and Kristel Michielsen}, + title = {Massively parallel quantum computer simulator, eleven years later}, + journal = {Computer Physics Communications} +} + +@book{DeRaedt2006, + title = {Handbook of Theoretical and Computational Nanotechnology}, + author = {H. De Raedt and K. Michielsen}, + editor = {M. Rieth and W. Schommers}, + publisher = {American Scientific Publishers}, + year = {2006}, + pages = {2--48} +} + +@unpublished{Smelyanskiy2016, + title = {qHiPSTER: The Quantum High Performance Software Testing Environment}, + author = {Smelyanskiy, Mikhail and Sawaya, Nicolas P. D. and Aspuru-Guzik, Alán}, + year = {2016}, + eprint = {1601.07195}, + archiveprefix = {arXiv}, + primaryclass = {quant-ph}, + note = {\url{https://arxiv.org/abs/1601.07195}}, + keywords = {Quantum Physics (quant-ph), Distributed, Parallel, and Cluster Computing (cs.DC), FOS: Physical sciences, FOS: Physical sciences, FOS: Computer and information sciences, FOS: Computer and information sciences} +} + +@article{Niwa2002, + doi = {10.1103/physreva.66.062317}, + url = {https://doi.org/10.1103/physreva.66.062317}, + year = {2002}, + month = dec, + publisher = {American Physical Society ({APS})}, + volume = {66}, + number = {6}, + author = {Jumpei Niwa and Keiji Matsumoto and Hiroshi Imai}, + title = {General-purpose parallel simulator for quantum computing}, + journal = {Physical Review A} +} + +@article{Jones2019, + doi = {10.1038/s41598-019-47174-9}, + url = {https://doi.org/10.1038/s41598-019-47174-9}, + year = {2019}, + month = jul, + publisher = {Springer Science and Business Media {LLC}}, + volume = {9}, + number = {1}, + author = {Tyson Jones and Anna Brown and Ian Bush and Simon C. Benjamin}, + title = {{QuEST} and High Performance Simulation of Quantum Computers}, + journal = {Scientific Reports} +} + +@inproceedings{Haner2016, + doi = {10.1109/sc.2016.73}, + url = {https://doi.org/10.1109/sc.2016.73}, + year = {2016}, + month = nov, + publisher = {{IEEE}}, + author = {Thomas Haner and Damian S. Steiger and Mikhail Smelyanskiy and Matthias Troyer}, + title = {High Performance Emulation of Quantum Circuits}, + booktitle = {{SC}16: International Conference for High Performance Computing, Networking, Storage and Analysis} +} \ No newline at end of file diff --git a/main.pdf b/main.pdf new file mode 100644 index 0000000..c0a5072 Binary files /dev/null and b/main.pdf differ diff --git a/main.tex b/main.tex index 05c0d31..2021bc3 100644 --- a/main.tex +++ b/main.tex @@ -1,25 +1,703 @@ -\documentclass{article} +\RequirePackage{silence} +\WarningFilter{revtex4-2}{Repair the float} + +\documentclass[aps,pra,nofootinbib,twocolumn]{revtex4-2} \usepackage[english]{babel} \usepackage[utf8]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} -\usepackage{lmodern} -\usepackage{microtype} -\usepackage{graphicx} +\usepackage{amsthm} \usepackage{hyperref} \usepackage{cleveref} +\usepackage{lmodern} +\usepackage{graphicx} \usepackage{physics} +\usepackage{float} +\usepackage{qcircuit} +\usepackage{calc} +\usepackage{marginnote} -\input{preamble.tex} +\newtheorem{theorem}{Theorem} +\newtheorem{lemma}{Lemma} +\newtheorem{definition}{Definition} -\title{} -\author{} -\date{} +\ExplSyntaxOn + \clist_new:N \l_my_footlist + \cs_new:Nn \my_footnotelater:n { + \clist_gput_right:Nn \l_my_footlist {{#1}} + } + \cs_new:Nn \my_footnotenow: { + \clist_gpop:NN \l_my_footlist \l_tmpa_tl + \exp_args:Nv\footnote{l_tmpa_tl} + } + \NewDocumentCommand{\FootnoteLater}{m}{\my_footnotelater:n{#1}} + \NewDocumentCommand{\FootnoteNow}{}{\my_footnotenow:} +\ExplSyntaxOff + +\ExplSyntaxOn + \cs_new:Nn \postulate:nn { + \emph{#2} + %\hyperlink{#1}{#2} + } + \NewDocumentCommand \Postulate { m } + { + \str_case_e:nnF { \str_foldcase:n { #1 } } + { + { state\space space }{\postulate:nn{postulate:state-space}{#1}} + { evolution }{\postulate:nn{postulate:evolution}{#1}} + { measurement }{\postulate:nn{postulate:measurement}{#1}} + { composite\space systems }{\postulate:nn{postulate:composite-systems}{#1}} + }{ + \textbf{!!}#1\textbf{!!} + } + } +\ExplSyntaxOff + +\NewDocumentCommand{\Naturals}{}{\mathbb{N}} +\let\NN\Naturals +\NewDocumentCommand{\Integers}{}{\mathbb{Z}} +\let\ZZ\Integers +\NewDocumentCommand{\Reals}{}{\mathbb{R}} +\let\RR\Reals +\NewDocumentCommand{\Complex}{}{\mathbb{C}} +\let\CC\Complex +\NewDocumentCommand{\Hilbert}{}{\ensuremath{\mathbb{H}}} +\NewDocumentCommand{\Controlled}{m}{\ensuremath{{{}_C#1}}} +\NewDocumentCommand{\Clifford}{}{\text{Clifford}} +\NewDocumentCommand{\Schrodinger}{}{{Schr\"{o}dinger}} \begin{document} -% Document contents here +\title{Survey on classical quantum computer simulators} +\author{Miguel Mur\c{c}a} +\affiliation{Instituto Superior T\'{e}cnico, University of Lisbon, Portugal} +\date{\today} + +\maketitle + +\section{Introduction} + +\subsection{Quantum computation fundamentals} +\label{sec:quantum-computation-fundamentals} + +\subsubsection{State vector} +\label{sec:state-vector} + +Quantum computation is the field of study concerned with computation performed +within the postulates imposed by the theory of quantum mechanics. The notion of +``computation'', as here used, is the same as in the field of (classical) +computability and complexity theory, and so we refer to, for example, +Ref.~\cite{Homer2001} for a formal overview of the topic. However, for +simplicity, computation can be taken to mean the evaluation of some function +over some discrete input range. In any case, this function (or, more generally, +the computational task at hand) will be made concrete in context. + +The postulates of quantum mechanics, on the other hand, are well defined and +may succinctly be stated as follows \cite{Nielsen2012}: + +\FootnoteLater{The dagger symbol (${}^\dagger$) is used to denote conjugate + transposition.} + +\makeatother +\begin{description} + \makeatletter + \let\old@item\item + \def\my@item#1#2{[\label{#2}{#1}]} + \def\item[#1][#2]{\expandafter\old@item\my@item{#1}{#2}} + \makeatother + + \item[State space][postulate:state-space] + An isolated quantum system is represented by a ray of unit two-norm + vectors in a complex vector space equipped with an inner product (i.e., + a Hilbert space). This space is referred to as the \emph{state space}. + + \item[Evolution][postulate:evolution] + The evolution of an isolated quantum system, as represented by its + quantum state vector $\vec \psi$, is given by a unitary operator acting + on that quantum state vector. I.e., let \Hilbert\ be the Hilbert space + such that the quantum state vector is, at some moment, $\vec\psi \in + \Hilbert$. Then, there exists an operator $U \in + \Hilbert\times\Hilbert$, satisfying $UU^\dagger = U^\dagger U = I$ + \FootnoteNow{} such that, after some time, the state of the system is + given by the quantum state vector $U \vec\psi$. + + \item[Measurement][postulate:measurement] \hskip 0pt plus 1em + A set of operators $\{M_m\}_m$, acting on $\Hilbert$ and satisfying + $\sum_m M_m^\dagger M_m = I$, define a ``measurement''. Each operator + $M_m$ has an associated outcome $m$, such that the measurement operation + yields outcome $m$ with probability $\lVert{ M_m + {\vec\psi}}\rVert_2^2$. After the measurement, the quantum system is + described by the quantum state vector $M_m {\vec\psi} / \norm*{M_m + \vec\psi}_2$. + + \item[Composite Systems][postulate:composite-systems] + If a quantum system is composed of multiple quantum subsystems, then + the corresponding state vector space is given by the tensor product of + the quantum state vector spaces of the subsystems. +\end{description} + +A quantum computation is, thus, a computation carried out within these +postulates. Taking the computational task to be a decision problem (i.e., +a question to which the computer should output a ``yes'' or ``no'' answer), we +may, without loss of generality, consider that the final answer is produced by +a final measurement (as defined in the measurement postulate), with outcomes +``yes'' ($m=1$) or ``no'' ($m=0$). + +In the classical case, it is well known that a binary alphabet -- the ``bit'' +-- is sufficient to perform computation (in the sense that it requires only a +logarithmic overhead in comparison to a larger alphabet; see \cite[Claim + 1.5]{arora2009computational}). To perform quantum computation, we will likewise +work with a quantum analogue of the bit, the ``qubit''. In particular, a qubit +is a quantum state of a Hilbert space of dimension $2$, $\Hilbert_2$. For +concreteness, we choose two quantum state vectors of $\Hilbert_2$ that are +orthogonal, +% +\begin{equation} + \ket{0}, \ket{1} +\end{equation} +% +and that thus form a basis of $\Hilbert_2$, the ``computational basis''. We've +also here introduced the so-called ``Dirac notation'', or ``bra-ket notation'', +common in quantum mechanics, and by extension in quantum computing works. We +present a summary of Dirac notation in Table \ref{table:dirac-notation}, and we +will henceforth use this notation. + +\begin{table} + \newcommand{\rowskip}{8pt} + \renewcommand{\arraystretch}{0} + \begin{tabular}{r @{\hskip 1em}|@{\hskip 1em} l} \hline\hline\vrule height 14pt width 0pt + $\ket{\psi}$ & Vector $\psi$, or ``ket'' $\psi$. Corresponds to $\vec\psi$. \\[\rowskip] + $\bra{\psi}$ & Dual of $\ket{\psi}$, or ``bra'' $\psi$. Corresponds to ${\vec\psi}^\dagger$. \\[\rowskip] + $\braket{a}{b}$ & Inner product between vectors $\ket{a}$ and $\ket{b}$. \\[\rowskip] + $\ket{a} \otimes \ket{b}$ & Tensor product between vectors $\ket{a}$ and $\ket{b}$. \\[0pt] + & If both $\ket{a},\ket{b} \in \Hilbert_n$, $\ket{a}\otimes\ket{b} \in \Hilbert_{n^2}$. \\[\rowskip] + $\ket{a}\mskip-5mu\ket{b}$& Shortened notation for $\ket{a} \otimes \ket{b}$. \\[\rowskip] + $\bra{a} A \ket{b}$ & Inner product between $\ket{a}$ and $A\ket{b}$, or, \\[0pt] + & equivalently, $A^\dagger \ket{a}$ and $\ket{b}$. \\[0pt] + & If $\ket{a}=\ket{b}$, may be referred to as the \\[0pt] + & \emph{expectation value} of $A$ under $\ket{a}$. \\[\rowskip] + $\dyad{a}$ & Projector onto the span of $\ket{a}$. + \\[14pt] + \hline\hline + \end{tabular} + + \caption{Summary of ``Dirac notation'', or ``bra-ket notation''.} + \label{table:dirac-notation} +\end{table} + +In analogy to how, in the classical case, a binary alphabet can represent larger +alphabets, multiple qubits can be used to span a larger Hilbert space, by the +\Postulate{composite systems} postulate. Indeed, $n$ qubits span $2^n$ +orthogonal states in their collective state space, which we may label by the +binary string given by each of the qubits, or the corresponding number: +% +{ + \makeatletter + \def\my@ksp{\mskip-5mu} + \def\my@neg@ksp{\mskip5mu} + \def\my@ssp{\mskip-3mu} + \let\old@ket\ket + \let\old@ldots\ldots + \let\old@equiv\equiv + \def\ket#1{\old@ket{#1}\my@ksp} + \def\ldots{\my@neg@ksp\my@ssp\old@ldots\my@ssp} + \def\equiv{\my@neg@ksp\old@equiv} + \makeatother + % + \begin{equation} + \begin{array}{l} + \hskip-2em \ket{0}\ket{0}\ldots\ket{0}\ket{0} \equiv \ket{0_b}, \\ + \hskip-1em \ket{0}\ket{0}\ldots\ket{0}\ket{1} \equiv \ket{1_b}, \\ + \ket{0}\ket{0}\ldots\ket{1}\ket{0} \equiv \ket{2_b}, \\ + \hskip1em \ldots \\ + \hskip1.5em \ket{1}\ket{1}\ldots\ket{1}\ket{1} \equiv \ket{2^n-1_b}. + \end{array} + \end{equation} +} + +Per the \Postulate{state space} postulate, a state of $n$ qubits may be given by +a linear combination of these basis states: +% +\begin{equation} \label{eq:superposition} + \begin{array}{c} + \displaystyle \ket{\psi} = \sum_{j=0}^{2^n-1} \alpha_j \ket{j_b} \\[2.5em] + \alpha_j \in \Complex, \quad \sum_{j=0}^{2^n-1} \abs{\alpha_j}^2 = 1 + \end{array} +\end{equation} + +If more than one $\alpha_j$ is non-zero, we say the state is in +``superposition''. Measuring a state in superposition produces different +outcomes, depending on the state's overlap with the outcome state. To see this, +consider the measurement +% +\begin{equation} \label{eq:computational-basis-measurement} + \{ M_m = \dyad{m_b} \qquad m=0,\ldots,2^n-1 \}. +\end{equation} + +Since every $\ket{j_b}$ has unit norm, and $\{\ket{j_b}\}_{j=0,\ldots,2^n-1}$ +span the Hilbert space being considered, this set satisfies the conditions +outlined in the \Postulate{measurement} postulate. We conclude also from the +postulate that the probability of observing outcome $j$ is given by +% +\begin{equation} + \Probability_{\ket{\psi}}[j] = \abs{\alpha_j}^2. +\end{equation} + +\subsubsection{Density matrix} +\label{sec:density-matrix} + +Consider the measurement \eqref{eq:computational-basis-measurement} on state +\eqref{eq:superposition}. After performing such a measurement, one holds state +$\ket{j_b}$ with probability $\Probability_{\ket{\psi}}[j]$. This is not +correctly described by a superposition. To see this, suppose a single qubit, +and a Hadamard gate: +% +\begin{equation} + \def\arraycolsep{8pt} + \begin{array}{cc} + \def\arraycolsep{4pt} + H = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} & % + \begin{array}{c} H\ket{0} = \frac{1}{\sqrt{2}}(\ket{0} + \ket{1}) \\ + H\ket{1} = \frac{1}{\sqrt{2}} (\ket{0}-\ket{1}) \end{array} + \end{array} +\end{equation} + +From this definition and the previous discussion, +% +\begin{equation} \label{eq:hadamard-action} + \def\strut{\vrule height 0pt depth 1em width 0pt} + \everymath={\displaystyle} + \begin{array}{c} + \Pr_{H\ket{0}}[0] = \Pr_{H\ket{1}}[0] = 1/2 \\[1.2em] + \strut \Pr_{H\ket{0}}[1] = \Pr_{H\ket{1}}[1] = 1/2 + \end{array} +\end{equation} +% +and we note that this is also true of the states +% +\begin{equation} \label{eq:plus-minus-states} + \everymath={\displaystyle} + \def\arraycolsep{.5cm} + \begin{array}{cc} + \ket{+} = \frac{\ket{0} + \ket{1}}{\sqrt{2}} & % + \ket{-} = \frac{\ket{0} - \ket{1}}{\sqrt{2}}. + \end{array} +\end{equation} + +We conclude from Eq.~\eqref{eq:hadamard-action} that by taking a $\ket{0}$ +state, applying a Hadamard gate, measuring, and again applying a Hadamard gate +and measuring, we should observe $0$ with probability $1/2$, and likewise $1$ +with probability $1/2$. But, following the postulates and attempting to +describe the intermediate situation by either $\ket{+}$ or $\ket{-}$, we find +that +% +\begin{equation} + \everymath={\displaystyle} + \begin{array}{c} + H \ket{+} = \ket{0} \\ + H \ket{-} = \ket{1} + \end{array} +\end{equation} +% +which would indicate either $\Pr[0] = 1$ or $\Pr[1] = 1$. + +\FootnoteLater{Alternatively, the density matrix formalism allows one to + express both ``quantum randomness'', as resulting from the measurement of + a state in superposition, and ``classical randomness'', in the sense of + operations conditioned on a random/unknown bit string.} + +Indeed, the system may be described by one of several states not in +superposition, while we are uncertain about which which state describes it. The +density matrix formalism (or \emph{density operator} formalism) gives a formal +tool for describing this situation \FootnoteNow. If a quantum state is in state +$\ket{\psi_j}$ with probability $p_j$, the associated density operator is +% +\begin{equation} + \rho = \sum_j p_j \dyad{\psi_j}. +\end{equation} + +In general, to be a valid density operator, $\rho$ must have unit trace and be +a positive operator. In particular, the density operator associated to a state +vector $\ket{\psi}$ is +% +\begin{equation} + \rho = \dyad{\psi}, +\end{equation} +% +and a statistical mixture between multiple $\rho_j$ with corresponding +probability $p_j$ is given by the density operator +% +\begin{equation} + \rho = \sum_j p_j \rho_j. +\end{equation} + +Density matrices are a ``complete'' formalism, in the sense that we may rephrase +the postulates of quantum mechanics only in terms of the density matrix +operator; in fact one may check that the two sets of postulates are equivalent. + +\begin{description} + \makeatletter + \let\old@item\item + \let\old@makelabel\makelabel + \renewcommand{\item}[1][0]{% + \old@item[#1]% + \hfill\break} + \def\ResetLabel{% + \let\item\old@item% + \let\makelabel\old@makelabel} + \makeatother + \item[State space {\it(Density matrix)}] + An isolated physical system is completely described by a \emph{density + operator}, which is a positive operator of unit trace in a Hilbert + space. If a system is in state $\rho_j$ with probability $p_j$, its + density operator is $\rho = \sum_j p_j \rho_j$. + \item[Evolution {\it(Density matrix)}] + Let a quantum system be described, at some moment, by the density + operator $\rho$. Then, there exists a unitary operator $U$ such that, + after some time, the quantum system is now described by the density + operator $\rho' = U\rho U^\dagger$. + \item[Measurement {\it(Density matrix)}] + A set of operators $\{M_m\}_m$, acting on the space of $\rho$, and + satisfying $\sum_m M_m^\dagger M_m$, define a ``measurement''. Each + operator $M_m$ has an outcome $m$ associated to it. If a quantum state + is described by a density operator $\rho$, the outcome of a measurement + is $m$ with probability $\Tr(M_m^\dagger M_m \rho)$, and, after the + measurement, the system is now described by the density matrix $\rho' = + M_m \rho M_m^\dagger / \Tr(M_m^\dagger M_m \rho)$. + \item[Composite Systems {\it(Density matrix)}] + The density operator describing a quantum system composed of multiple + quantum subsystems is given by the tensor product of the density + operators of each of the subsystems. +\end{description} + +A quantum state with density matrix $\rho$ for which there exists +% +\begin{equation} + \everymath={\displaystyle} + \begin{array}{r@{\quad}c@{\quad}l} + \ket{\psi} & \text{such that} & \rho = \dyad{\psi} + \end{array} +\end{equation} +% +is said to be a \emph{pure} state, while a state that cannot satisfy this is +said to be a \emph{mixed} state. + +A density operator may be used to describe a quantum subsystem: if a system is +composed of subsystems $A$ and $B$, jointly described by the density operator +$\rho$, then subsystem $A$ is described by density operator +% +\begin{equation} + \rho_A = \Tr_B(\rho) = \sum_j (I_A \otimes \bra{j}_B) \rho (I_A \otimes \ket{j}_B) +\end{equation} +% +where $\Tr_B$ is the newly defined \emph{partial trace} operation, and we take +$\{\ket{j}\}_j$ to be a basis over the state space of $B$. + +\subsubsection{Quantum circuits} + +To conclude this section, we introduce a common notation to denote unitary +transformations, and by extension quantum algorithms: quantum circuits. + +\FootnoteLater{Rigorously, this depends on how the unitary is ``given''. Here, + consider that a unitary is given by specifying its action over each element + $\ket{j}$ of a set spanning the state space. By linearity (cf.\ the + \Postulate{evolution} postulate), this determines the action of the unitary + over any vector in the state space.} + +Recall that a quantum computation may be described by a sequence of unitary +evolutions and measurements, and a final measurement. While the measurements +correspond (by the \Postulate{measurement} postulate) to a physical procedure, +it is not necessarily clear how to implement a given unitary +transformation\FootnoteNow. Instead, we assume the ability to physically realize +a number of elementary operations, and compose these operations to build more +sophisticated unitary evolutions. Table \ref{table:basic-operations} lists some +common basic operations. Critically, a limited set of these elementary +operations can be sufficient to express any unitary evolution. I.e., the notion +of a \emph{universal quantum gate set} is well defined. The set of gates +specified in Table \ref{table:basic-operations} form a universal quantum gate +set. One could even reduce the size of this set while maintaining universality; +for example, the set of $\{R_X, R_Y, R_Z, \Controlled{X}\}$ gates is also +universal \cite{Nielsen2012}. A common choice of universal gate set is the +``Clifford+$T$'' set, where the Clifford gate set, $\{S, H, \Controlled{X}\}$, +is augmented with the $T$ gate. Note that the Clifford gate set generates all +the Pauli gates. The term ``Clifford group'' is used to denote the set of all +operations generated by the Clifford gate set. + +\begin{table} + \def\Action#1{$\begin{array}{l} #1 \end{array}$} + \def\TabularSpacing{\hskip 0em plus 1em minus 1em} + \def\CX{\Controlled{X}} + + \begin{tabular}{c @{\TabularSpacing}c@{\TabularSpacing} c} \hline\hline\vrule height 14pt width 0pt + Symbol & Definition & Description \\ + \hline\vrule height 18pt width 0pt + $X$ & \Action{X\ket{0} = \ket{1} \\ X\ket{1} = \ket{0}} & $X$-Pauli or ``not'' gate \\ + $Y$ & \Action{Y\ket{0} = -i\ket{1} \\ Y\ket{1} = i\ket{0}} & $Y$-Pauli gate \\ + $Z$ & \Action{Z\ket{0} = \ket{0} \\ Z\ket{1} = -\ket{1}} & $Z$-Pauli gate \\ + $H$ & \Action{H\ket{0} = \sqrt{1/2}(\ket{0}+\ket{1}) \\ H\ket{1} = \sqrt{1/2}(\ket{0}-\ket{1})} & Hadamard gate \\ + $S$ & \Action{S\ket{0} = \ket{0} \\ S\ket{1} = i\ket{1}} & Phase gate \\ + $T$ & \Action{T\ket{0} = \ket{0} \\ T\ket{1} = e^{i\pi/4}\ket{1}} & $\pi/8$ gate \\[9pt] + $R_X(\theta)$ & $\exp{-i\theta X/2}$ & $X$-rotation gate \\[9pt] + $R_Y(\theta)$ & $\exp{-i\theta Y/2}$ & $Y$-rotation gate \\[9pt] + $R_Z(\theta)$ & $\exp{-i\theta Z/2}$ & $Z$-rotation gate \\[6pt] + $\CX$ & $\dyad{0}\otimes I + \dyad{1}\otimes X$ & Controlled-not gate \\[6pt] + \hline\hline + \end{tabular} + \caption{Common ``native'' operations, often assumed to be physically + realizable, to be composed into other operations.} + \label{table:basic-operations} +\end{table} + +Quantum circuits provide a visual notation to denote composition of elementary +gates into larger unitary evolutions and measurements. The main elements of a +quantum circuit are given in Table \ref{table:quantum-circuit}. Assuming every +operation in the elementary gate set can be performed in a time step, it follows +that the number of vertical slices in a quantum circuit correspond to the +running time of the circuit. This is referred to as the circuit's \emph{depth}. +The circuit's \emph{width} is the number of qubits acted upon non-trivially by +the circuit, and relates to the space requirements of the circuit. + +Because a quantum algorithm corresponds to known unitary evolutions and +measurements, it is expressible in quantum circuit form. We say, then, that a +quantum algorithm is efficient if the corresponding quantum circuit's width and +depth scale at most polynomially with input size. + +\begin{table*} + \def\TabularSpacing{\hskip 2em plus 1em minus 1em} + \def\Description#1{\begin{minipage}[c]{.6\linewidth}{#1}\end{minipage}} + \def\GateStrut#1{\vrule height 9pt depth 3pt width 0pt\hskip .25em{#1}\hskip.25em} + \begin{tabular}{c @{\TabularSpacing}c@{\TabularSpacing} c} \hline\hline\vrule height 14pt width 0pt + Symbol & Definition & Description \\ + \hline\vrule height 1cm width 0pt + $\Qcircuit { &\qw }$ & Wire & \Description{Reperesents the state space + associated to a qubit, i.e., $\Hilbert_2$. Multiple wires, + vertically aligned, represent the collective Hilbert space, given + by the tensor product of the individual $\Hilbert_2$ spaces + (cf.\ the \Postulate{composite systems} postulate).} + \\[.8cm] + $\Qcircuit @C=1em { \lstick{{}_A}&\qw{/}&\qw }$ & Register & + \Description{Represents multiple wires, i.e., a subspace of dimension + $2^n$, where $n$ is the number of wires in the register. As shown, a + register may be labelled.} \\[.7cm] + $\Qcircuit @C=1em{ &\gate{U}&\qw }$ & Gate & \Description{Unitary $U$ acting + on the state space associated to the incoming wire (left-hand side). + The outgoing wire (right-hand side) corresponds to the state space + after the action of the gate.} \\[.7cm] + $\Qcircuit @C=1em { & \meter & \cw }$ & Measurement & \Description{ + Measurement of the state subspace associated to the incoming wire + (left-hand side), according to the measurement $\{(\dyad{0}, 0), + \allowbreak (\dyad{1}, 1)\}$ (``computational basis measurement''). + The double wire represents the resulting classical bit (i.e., a + $\ZZ_2$ space).} \\[.8cm] + \begin{minipage}[c]{1.4cm} + $\Qcircuit @C=1em @R=1em {\lstick{{}_A}& \ctrl{1} & \qw \\ \lstick{{}_B}{\kern6pt/}& \gate{U} & \qw}$ + \end{minipage} & Controlled operation & \Description{Denotes the + operation $\dyad{0}_A\otimes I_B + \dyad{1}_A\otimes U_B$ acting on the + collective state space of $A$ and $B$.} \\[.6cm] + $\Qcircuit @C=1em { \lstick{\ket{\psi}} & \gate{U} & \qw}$ & Application & \Description{ + The quantum state resulting from application of + the unitary represented by the quantum circuit on the quantum state + specified on the left-hand side. The resulting state may be denoted + on the right-hand side. \\ Here, represents the state + $U\ket{\psi}$.} \\[1cm] + \hskip-1.2em $\Qcircuit @C=.5em {& {/}\qw & \gate{\GateStrut{V}} & \gate{\GateStrut{W}} & \qw \\}$ & Composition & \Description{Circuits are + ``read'' left-to-right. Thus, the concatenation of two circuits + denoting the actions of operators, respectively, $V$ and $W$, results + in a circuit denoting the operator $WV$.} \\[.6cm] + \hline\hline + \end{tabular} + \caption{Quantum circuit notation.} + \label{table:quantum-circuit} +\end{table*} + +\subsection{Simulation theory} + +The quantum computational model, as introduced in the previous section, is +believed to be more powerful than the classical computing model +\cite{Bernstein1993}. One canonical example of evidence for this separation is +the existence of Shor's Algorithm for efficient factoring +\cite{Shor1994,Kitaev1995}. Thus, the task of classically simulating a quantum +computation becomes doubly significant: on the one hand, an efficient classical +algorithm to simulate an arbitrary quantum computation would have a fundamental +impact in the current understanding of computational complexity (but, for this +reason, is not expected to exist). On the other hand, it is necessary to ensure +that a particular instance of a quantum circuit cannot be classically simulated +in practice in order to claim that a quantum computation has been carried out +``with advantage'' (i.e., beyond a classical regime, or what is often referred +to as ``quantum supremacy'') \cite{arute2019,Terhal2018,Haner2017,Markov2018}. +Finally, even in the quantum advantage regime, small-scale classical +simulations remain relevant as a source of reference data for validation +\cite{Bravyi2016}. + +As discussed in section \ref{sec:state-vector}, a quantum state of $n$ qubits is +determined by a vector of $2^n$ complex values, up to a global phase factor, and +subject to a normalization constraint. Therefore, on first approach, one may +believe that a quantum circuit of more than $40$--$45$ qubits cannot be +classically simulated, simply due to the memory requirements of maintaining a +quantum state vector. However, this consideration ignores the details of any +particular problem instance, such as the existence of structure or constraints +in the quantum circuit to be ran, or specifications on the desired output. In +this section, we review some key theoretical results regarding classical +simulation of quantum computations, as well as some general techniques. + +\subsubsection{Strong simulation \texorpdfstring{\textit{vs.\!}}{vs.} weak simulation} + +As defined in section \ref{sec:quantum-computation-fundamentals}, the final +output of a quantum computation results from a measurement. Due to the nature of +measurements, the outcome is a random variable, and its distribution depends on +the underlying state vector before the measurement. Thus, should a classical +simulation of a quantum algorithm: +% +\renewcommand{\labelenumi}{\textit{\roman{enumi}.}} +\begin{enumerate} + \item generate a random outcome observing the same output distribution as + the quantum counterpart, or; + \item explicitly specify the distribution of the generated output? +\end{enumerate} + +These two problem specifications correspond, respectively, to the notions of +\emph{weak simulation} and \emph{strong simulation}. Requiring either strong or +weak simulation may significantly affect the computational hardness of the task; +indeed there exist circuits for which classical weak simulation is easy, but +classical strong simulation is hard \cite{VandenNest2010}. Stating these two +notions more formally: + +\begin{definition}[Strong simulation \cite{VandenNest2010}] + Given a description of a quantum circuit of $n$ qubits, which corresponds + to unitary operator $U$, terminating with a measurement of the first qubit + in the computational basis, output $\Tr(\dyad{0} \mkern5mu U \mkern-3mu + \dyad{0_b} U^\dagger)$. +\end{definition} + +\begin{definition}[Weak simulation \cite{VandenNest2010}] + Given a description of a quantum circuit of $n$ qubits, which corresponds + to unitary operator $U$, terminating with a measurement of the first qubit + in the comptuational basis, output $0$ with probability $\Tr(\dyad{0} + \mkern5mu U \mkern-3mu \dyad{0_b} U^\dagger)$, or $1$ otherwise. +\end{definition} + +\FootnoteLater{By the \Postulate{state space} postulate, a global phase factor + is physically irrelevant. However, relative phase differences should not be + disregarded. As a simple example, consider the action of the Hadamard gate + (eqs.~\eqref{eq:hadamard-action},\eqref{eq:plus-minus-states}): the only + difference between the $\ket{+}$ and $\ket{-}$ states is the relative phase + difference between the $\ket{0}$ and $\ket{1}$ components -- however, the + result from acting with the Hadamard gate is completely different.} + +In practice, one may wish to simulate the circuit only up to some point, or to +inspect the intermediate state of a small-scale computation \cite{Bravyi2016}. +This motivates a different definition of strong simulation by some authors. +Namely, recalling Eq.~\eqref{eq:superposition}, note that knowledge of +$\alpha_j$ is enough to determine the probability of observing any measurement +in the computational basis. However, the converse is not true: because $\Pr[j] += \abs{\alpha_j}^2$, knowledge of $\Pr[j]$ fails to inform about the complex +phase of $\alpha_j$\FootnoteNow. So, strong simulation may be taken to mean: + +\begin{definition}[Strong simulation, wave-function version \cite{Chen2017}] + \label{def:strong-simulation-wavefn} + Given a quantum circuit of $n$ qubits, corresponding to a unitary operator + $U$, and an $n$-bit string $j$, output $\bra{j_b} U \ket{0_b}$. +\end{definition} + +Note that, in all of the definitions above, we took the quantum circuits to be +described by a unitary operator, which may not be trivially true if measurements +are performed half-way in the circuit (cf.\ section~\ref{sec:density-matrix}), +or if classical post-processing is employed. However, a well-known result, +which we review in appendix~\ref{appendix:delayed-measurement}, allows us to +defer all measurements to the end of the circuit, such that the whole of the +computation is carried out unitarily. + +\subsubsection{Clifford circuits and the Gottesman-Knill theorem} + +Recall that Clifford gates are gates in the Clifford set, i.e., any quantum +circuit that can be written in terms of phase, Hadamard, and Controlled-Not +gates (cf.\ Table~\ref{table:basic-operations}). Then, the Gottesman-Knill +theorem states the following: + +\begin{theorem}[Gottesman-Knill \cite{Gottesman1999}] + \label{theorem:gottesman-knill} + \def\ketneg{\mkern-5mu} + Every (uniform family of) Clifford circuit(s), when applied to the input + state $\ket{0_b} \equiv \ket{0}\ketneg\ket{0}\ldots\ket{0}$, and when + followed by a computational basis measurement of the first qubit, can be + efficiently simulated classically in the strong sense. +\end{theorem} + +The theorem is constructive, and in Ref.~\cite{Gottesman2004} Gottesman and +Aaronson provide a high-performance (weak) simulator of Clifford circuits that +can scale up to tens of thousands of qubits. Van den Nest \cite{VandenNest2010} +gives an alternative derivation of the theorem that allows for direct strong +simulation as well (both the regular and wave-function version). + +Despite this result, Clifford circuits very easily extend to the universality +regime: not only by augmentation of the gate set -- the Clifford+$T$ gate set +is already universal -- but also by choice of the input state. Indeed, there +exist ``magic states'', such that a supply of these (pre-prepared) quantum +states and Clifford operations are enough to perform universal quantum +computation \cite{Bravyi2005}. + +This move from Clifford-based computation to quantum universality entails a +``jump'', since Clifford circuits are not as powerful as classical circuits. +In Ref.~\cite{VandenNest2010}, this computational gap is discussed and +eliminated, by giving a superclass of Clifford circuits, ``$HT$ circuits'', that +is equivalent to classical computation and can be weakly simulated. + +\subsubsection{Schr\"{o}dinger Simulation} + +\Schrodinger\ simulation refers to the straightforward approach of maintaining +the global state-vector, updating it as new unitary operations are encountered +\cite{DeRaedt2019}. As such, it is inherently a form of the wave-function +version of strong simulation (definition \ref{def:strong-simulation-wavefn}). +This method also requires, by definition, that $2^n$ complex values are +maintained for a state of $n$ qubits, such that it cannot physically scale +beyond a certain number of qubits (about $45$-$50$ qubits, corresponding to a +petabyte or more of memory, if each amplitude is represented within $8$ bytes). + +Despite this constraint, a significant amount of research has been devoted to +\Schrodinger\ simulation in the memory-tractable regime ($n \lesssim 50$), +specifically in pushing this limit and speeding up the running time +\cite{Smelyanskiy2016,DeRaedt2019,Jones2019,Haner2017,Haner2016,Niwa2002,DeRaedt2006}. + +\appendix + +\section{Delayed measurement} +\label{appendix:delayed-measurement} + +The delayed measurement lemma states: +% +\begin{lemma}[Delayed measurement \cite{Nielsen2012}] + \begin{equation} + \def\RegisterSlash{{\hskip 1em /}} + {\raisebox{10pt}{ + $\displaystyle + \Qcircuit @C=1em @R=1em { + & \qw & \ctrl{1} & \meter \\ + \RegisterSlash & \qw & \gate{U} & \qw + } + $ + }} + \mskip 10mu = \mskip 5mu + {\raisebox{11pt}{ + $\displaystyle + \Qcircuit @C=1em @R=1em { + & \meter & \cctrl{1} & \\ + \RegisterSlash & \qw & \gate{U} & \qw + } + $ + }} + \end{equation} + % + i.e., measurements can always be moved from an intermediate stage of a + quantum circuit to the end of the circuit, replacing conditional classical + operations by controlled quantum operations. +\end{lemma} + +This statement may be proven by explicitly calculating the density matrix +resulting from the action of each circuit, for an arbitrary input, and checking +that the result is the same. It follows that, when speaking of a quantum +algorithm, one may always take the procedure to be described by a unitary +operation followed by measurements. \bibliography{citations}