diff --git a/assets/interference.pdf b/assets/interference.pdf index a5b539f..8c430aa 100644 Binary files a/assets/interference.pdf and b/assets/interference.pdf differ diff --git a/citations.bib b/citations.bib index 1218a26..4e0ae07 100644 --- a/citations.bib +++ b/citations.bib @@ -76,17 +76,22 @@ 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}, +@article{Arute2019, + doi = {10.1038/s41586-019-1666-5}, + url = {https://doi.org/10.1038/s41586-019-1666-5}, + year = {2019}, + month = oct, + publisher = {Springer Science and Business Media {LLC}}, volume = {574}, number = {7779}, pages = {505--510}, - year = {2019}, - publisher = {Nature Publishing Group} + author = {Frank Arute and Kunal Arya and Ryan Babbush and Dave Bacon and Joseph C. Bardin and Rami Barends and Rupak Biswas and Sergio Boixo and Fernando G. S. L. Brandao and David A. Buell and Brian Burkett and Yu Chen and Zijun Chen and Ben Chiaro and Roberto Collins and William Courtney and Andrew Dunsworth and Edward Farhi and Brooks Foxen and Austin Fowler and Craig Gidney and Marissa Giustina and Rob Graff and Keith Guerin and Steve Habegger and Matthew P. Harrigan and Michael J. Hartmann and Alan Ho and Markus Hoffmann and Trent Huang and Travis S. Humble and Sergei V. Isakov and Evan Jeffrey and Zhang Jiang and Dvir Kafri and Kostyantyn Kechedzhi and Julian Kelly and Paul V. Klimov and Sergey Knysh and Alexander Korotkov and Fedor Kostritsa and David Landhuis and Mike Lindmark and Erik Lucero and Dmitry Lyakh and Salvatore Mandr{\`{a}} and Jarrod R. McClean and Matthew McEwen and Anthony Megrant and Xiao Mi and Kristel Michielsen and Masoud Mohseni and Josh Mutus and Ofer Naaman and Matthew Neeley and Charles Neill and Murphy Yuezhen Niu and Eric Ostby and Andre Petukhov and John C. Platt and Chris Quintana and Eleanor G. Rieffel and Pedram Roushan and Nicholas C. Rubin and Daniel Sank and Kevin J. Satzinger and Vadim Smelyanskiy and Kevin J. Sung and Matthew D. Trevithick and Amit Vainsencher and Benjamin Villalonga and Theodore White and Z. Jamie Yao and Ping Yeh and Adam Zalcman and Hartmut Neven and John M. Martinis}, + title = {Quantum supremacy using a programmable superconducting processor}, + journal = {Nature} } + + @article{Terhal2018, doi = {10.1038/s41567-018-0131-y}, url = {https://doi.org/10.1038/s41567-018-0131-y}, @@ -291,4 +296,68 @@ archiveprefix = {arXiv}, primaryclass = {quant-ph}, eprint = {1712.05384} +} + +@inproceedings{Burgholzer2021, + doi = {10.1109/qce52317.2021.00037}, + url = {https://doi.org/10.1109/qce52317.2021.00037}, + year = {2021}, + month = oct, + publisher = {{IEEE}}, + author = {Lukas Burgholzer and Hartwig Bauer and Robert Wille}, + title = {Hybrid Schr\"{o}dinger-Feynman Simulation of Quantum Circuits With Decision Diagrams}, + booktitle = {2021 {IEEE} International Conference on Quantum Computing and Engineering ({QCE})} +} + +@inproceedings{Fatima2021, + doi = {10.1109/hpca51647.2021.00026}, + url = {https://doi.org/10.1109/hpca51647.2021.00026}, + year = {2021}, + month = feb, + publisher = {{IEEE}}, + author = {Aneeqa Fatima and Igor L. Markov}, + title = {Faster Schr\"{o}dinger-style simulation of quantum circuits}, + booktitle = {2021 {IEEE} International Symposium on High-Performance Computer Architecture ({HPCA})} +} + +@article{Chen2018, + doi = {10.1016/j.scib.2018.06.007}, + url = {https://doi.org/10.1016/j.scib.2018.06.007}, + year = {2018}, + month = aug, + publisher = {Elsevier {BV}}, + volume = {63}, + number = {15}, + pages = {964--971}, + author = {Zhao-Yun Chen and Qi Zhou and Cheng Xue and Xia Yang and Guang-Can Guo and Guo-Ping Guo}, + title = {64-qubit quantum circuit simulation}, + journal = {Science Bulletin} +} + +@article{Kim2023, + doi = {10.1038/s41586-023-06096-3}, + url = {https://doi.org/10.1038/s41586-023-06096-3}, + year = {2023}, + month = jun, + publisher = {Springer Science and Business Media {LLC}}, + volume = {618}, + number = {7965}, + pages = {500--505}, + author = {Youngseok Kim and Andrew Eddins and Sajant Anand and Ken Xuan Wei and Ewout van den Berg and Sami Rosenblatt and Hasan Nayfeh and Yantao Wu and Michael Zaletel and Kristan Temme and Abhinav Kandala}, + title = {Evidence for the utility of quantum computing before fault tolerance}, + journal = {Nature} +} + +@article{Saffman2010, + doi = {10.1103/revmodphys.82.2313}, + url = {https://doi.org/10.1103/revmodphys.82.2313}, + year = {2010}, + month = aug, + publisher = {American Physical Society ({APS})}, + volume = {82}, + number = {3}, + pages = {2313--2363}, + author = {M. Saffman and T. G. Walker and K. M{\o}lmer}, + title = {Quantum information with Rydberg atoms}, + journal = {Reviews of Modern Physics} } \ No newline at end of file diff --git a/main.pdf b/main.pdf index e7b3d59..0e5e577 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/main.tex b/main.tex index e905031..ec0404a 100644 --- a/main.tex +++ b/main.tex @@ -8,16 +8,15 @@ \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} +\usepackage{mathtools} \usepackage{hyperref} \usepackage{cleveref} -\usepackage{lmodern} +\usepackage{calc} \usepackage{graphicx} \usepackage{physics} \usepackage{float} \usepackage{qcircuit} -\usepackage{calc} \usepackage{marginnote} -\usepackage{mathtools} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} @@ -67,6 +66,7 @@ \NewDocumentCommand{\Controlled}{m}{\ensuremath{{{}_C#1}}} \NewDocumentCommand{\Clifford}{}{\text{Clifford}} \NewDocumentCommand{\Schrodinger}{}{{Schr\"{o}dinger}} +\NewDocumentCommand{\BigO}{}{\mathcal{O}} \begin{document} @@ -528,7 +528,7 @@ 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}. +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}. @@ -552,12 +552,14 @@ 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} +{ + \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 @@ -647,6 +649,7 @@ 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} +\label{sec:schrodinger-simulation} \Schrodinger\ simulation refers to the straightforward approach of maintaining the global state-vector, updating it as new unitary operations are encountered @@ -661,17 +664,20 @@ barring adaptative models admitting error, such as in Ref.~\cite{DeRaedt2019}). 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}. +\cite{Smelyanskiy2016,Fatima2021,Markov2018,DeRaedt2019,Jones2019,Haner2017,Haner2016,Niwa2002,DeRaedt2006}. A key observation is that, if each gate is considered at a time, the matrix-vector products being calculated are of very sparse and strongly structured matrices. Namely, the gates are \emph{local}, in the sense that they involve non-trivially at most a small number $k$ of qubits. For example, in -Ref.~\cite{Haner2017}, this is used both to ensure that compute resources are -maximally utilized, and to distribute the computation to some extent. Following -a different strategy, in Ref.~\cite{Haner2016}, advance knowledge of the action -of common blocks of operations in quantum computing is used to speed up over the -simulation of each gate individually. +Ref.~\cite{Haner2017}, this is used to ensure that compute resources are +maximally utilized via parallelization. Following a different strategy, in +Ref.~\cite{Haner2016}, advance knowledge of the action of common blocks of +operations in quantum computing is used to speed up over the simulation of each +gate individually. Gate clustering, different encoding techniques and +cache-related considerations, as well as employment of compiler intrinsics, +also allow for speed improvements +\cite{Fatima2021,Haner2016,Haner2017,Markov2018}. Otherwise, the problem may be regarded as a classical large-sparse-matrix and vector product, a well-researched problem (see, e.g., @@ -680,9 +686,10 @@ Ref.~\cite{Xiao2023}). \subsubsection{Feynman simulation} \label{sec:feynman-simulation} -The Feynman simulation method \cite{Boixo2017,Bernstein1997} trades the $2^n$ -memory requirement by an exponential time computation, but in linear space. -Being also a form of the wave-function version of strong simulation (definition +The Feynman simulation method +\cite{Boixo2017,Chen2017,Bernstein1997} trades the $2^n$ memory requirement by +an exponential time computation, but in linear space. Being also a form of the +wave-function version of strong simulation (definition \ref{def:strong-simulation-wavefn}), the Feynman simulation method follows from noticing the following: % @@ -693,23 +700,27 @@ noticing the following: \bra{x_b} U_L U_{L-1} U_{L-2} \cdots U_2 U_1 \ket{0_b} = {} \\[1em] {} = \bra{x_b} U_L (\Sigma_{j=0}^{2^n-1} \dyad{j_b}) U_{L-1} (\Sigma_{j'=0}^{2^n-1} \dyad{j'_b}) \\[.5em] \hfill U_{L-2} \cdots U_2 (\Sigma_{j''=0}^{2^n-1} \dyad{j''_b}) U_1 \ket{0_b} = {} \\[1em] - \hfill {} = \sum_{\mathclap{\{b_{(t)}\} \in \{0,1,\ldots,2^n-1\}^{L-1}}} \mkern 65mu \prod_{\ProdStrut t=0}^{L-1} \bra{b_{(t+1)}} U_{t} \ket{b_{(t)}} + \hfill {} = \sum_{\mathclap{\{y_{(t)}\} \in \{0,1,\ldots,2^n-1\}^{L-1}}} \mkern 65mu \prod_{\ProdStrut t=0}^{\ProdStrut L-1} \bra{y_{(t+1)}} U_{t} \ket{y_{(t)}} \end{array} \end{equation} % since $\{\ket{j_b}\}_{j=0,\ldots,2^n-1}$ form an orthonormal basis of the state -vector space, and letting $\ket*{b_{(L)}} \equiv \ket{x_b}$. Now, take each of -the $U_j$ to be the (local, sparse) unitary corresponding to a quantum gate in -a quantum circuit, such that $L$ is the depth of the quantum circuit. This -approach may be interpreted as a discrete version of the Feynman path integral -formulation, where, simply put, every possible ``computation path'' is -considered separately, in order to determine the resulting constructive or -destructive interference between the paths; each path requires a linear amount -of memory to compute, but there are exponentially many paths to consider. This -is illustrated in figure~\ref{fig:interference}. +vector space, and letting $\ket*{y_{(L)}} \equiv \ket{x_b}$. Now, take each of +the $U_t$ to be the (local, sparse) unitary corresponding to a quantum gate in +a quantum circuit, such that $L$ is the depth of the quantum circuit. One may +conclude this scheme requires $\BigO(n\cdot(2d)^{n+1})$ time and $\BigO(n \log +d)$ space \cite{Chen2017}. + +This approach may be interpreted as a discrete version of the Feynman path +integral formulation, where, simply put, every possible ``computation path'' +(corresponding to a choice of $\{y_{(t)}\}$) is considered separately, in order +to determine the resulting constructive or destructive interference between the +paths; each path requires a linear amount of memory to compute, but there are +exponentially many paths to consider, which interfere among themselves. This is +illustrated in figure~\ref{fig:interference}. \begin{figure} - \hskip-.5cm\includegraphics[width=0.75\linewidth]{assets/interference.pdf} + \hskip-.5cm\includegraphics{assets/interference.pdf} \caption{The action of two Hadamard gates (eq.~\ref{eq:hadamard}) acting on a single qubit initialized to $\ket{0}$, as a trivial example of interference. Each node's tone reflects the absolute value of the @@ -721,6 +732,38 @@ is illustrated in figure~\ref{fig:interference}. \label{fig:interference} \end{figure} +\subsubsection{Schr\"{o}dinger-Feynman simulation} + +It is possible to establish an intermediate scheme between \Schrodinger\ +simulation (section \ref{sec:schrodinger-simulation}) and Feynman simulation +(section \ref{sec:feynman-simulation}) \cite{Chen2017,Boixo2017,Chen2018}. +Thus, this scheme, which allows for a controllable trade-off between space and +time complexity, is referred to by some authors as \Schrodinger-Feynman +simulation \cite{Boixo2017,Burgholzer2021,Fatima2021}. + +The main idea of the technique is to divide the quantum circuit into disjoint +registers, performing \Schrodinger\ simulation for operations that involve only +qubits in the same register, but summing over ``paths'' resulting from +operations across registers. This allows the computation to be distributed +(across different choices of computation paths for cross-register operations), +while maximally exploiting the memory available to each process. + +The choice of (maximum) size of the registers determines the memory consumption, +with bigger sized registers requiring more memory but less computational paths +to consider. Thus, for at-most $k$-qubit sized registers in an $n$-qubit +circuit of depth $d$, one requires $\BigO(n 2^{n-k} \cdot (2d)^{k+1})$ time, and +$\BigO(2^{n-k} \log d)$ space \cite{Chen2017}. + +This method is well suited for simulating circuits with a grid-like +connectivity graph between circuits, as is common in practical implementations +\cite{Arute2019,Kim2023,Saffman2010}, and so is used in multiple works pushing +the boundary of quantum advantage \cite{Chen2018,Smelyanskiy2016,Haner2017}. + +\subsubsection{Tensor network simulation} +\label{sec:tensor-network-simulation} + +TODO + \appendix \section{Delayed measurement}