diff --git a/assets/interference.pdf b/assets/interference.pdf new file mode 100644 index 0000000..a5b539f Binary files /dev/null and b/assets/interference.pdf differ diff --git a/citations.bib b/citations.bib index 56b8f01..1218a26 100644 --- a/citations.bib +++ b/citations.bib @@ -71,7 +71,7 @@ doi = {10.48550/ARXIV.QUANT-PH/9511026}, archiveprefix = {arXiv}, primaryclass = {quant-ph}, - note = {\url{https://arxiv.org/abs/quant-ph/9511026}}, + note = {Unpublished}, 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} } @@ -119,7 +119,7 @@ eprint = {1807.10749}, archiveprefix = {arXiv}, primaryclass = {quant-ph}, - note = {\url{https://arxiv.org/abs/1807.10749}} + note = {Unpublished} } @article{Bravyi2016, @@ -217,7 +217,7 @@ eprint = {1601.07195}, archiveprefix = {arXiv}, primaryclass = {quant-ph}, - note = {\url{https://arxiv.org/abs/1601.07195}}, + note = {Unpublished}, 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} } @@ -248,12 +248,47 @@ } @inproceedings{Haner2016, - doi = {10.1109/sc.2016.73}, - url = {https://doi.org/10.1109/sc.2016.73}, - year = {2016}, - month = nov, + 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}, + 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} +} + +@article{Xiao2023, + doi = {10.1145/3604606}, + url = {https://doi.org/10.1145/3604606}, + year = {2023}, + month = jun, + publisher = {Association for Computing Machinery ({ACM})}, + author = {Guoqing Xiao and Chuanghui Yin and Tao Zhou and Xueqi Li and Yuedan Chen and Kenli Li}, + title = {A Survey of Accelerating Parallel Sparse Linear Algebra}, + journal = {{ACM} Computing Surveys} +} + +@article{Bernstein1997, + doi = {10.1137/s0097539796300921}, + url = {https://doi.org/10.1137/s0097539796300921}, + year = {1997}, + month = oct, + publisher = {Society for Industrial {\&} Applied Mathematics ({SIAM})}, + volume = {26}, + number = {5}, + pages = {1411--1473}, + author = {Ethan Bernstein and Umesh Vazirani}, + title = {Quantum Complexity Theory}, + journal = {{SIAM} Journal on Computing} +} + +@unpublished{Boixo2017, + author = {Sergio Boixo and Sergei V. Isakov and Vadim N. Smelyanskiy and Hartmut Neven}, + note = {Unpublished}, + title = {Simulation of low-depth quantum circuits as complex undirected graphical models}, + year = {2017}, + archiveprefix = {arXiv}, + primaryclass = {quant-ph}, + eprint = {1712.05384} } \ No newline at end of file diff --git a/main.pdf b/main.pdf index c0a5072..e7b3d59 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/main.tex b/main.tex index 2021bc3..e905031 100644 --- a/main.tex +++ b/main.tex @@ -17,6 +17,7 @@ \usepackage{qcircuit} \usepackage{calc} \usepackage{marginnote} +\usepackage{mathtools} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} @@ -254,6 +255,7 @@ correctly described by a superposition. To see this, suppose a single qubit, and a Hadamard gate: % \begin{equation} + \label{eq:hadamard} \def\arraycolsep{8pt} \begin{array}{cc} \def\arraycolsep{4pt} @@ -391,8 +393,9 @@ $\rho$, then subsystem $A$ is described by density operator \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$. +where $\Tr_B$ is the newly defined \emph{partial trace} operation, $I_A$ is the +identity in the state space of $A$, and we take $\{\ket{j}\}_j$ to be a basis +over the state space of $B$. \subsubsection{Quantum circuits} @@ -643,7 +646,7 @@ 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} +\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 @@ -652,13 +655,72 @@ 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). +petabyte or more of memory, if each amplitude is represented within $8$ bytes; +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}. +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. + +Otherwise, the problem may be regarded as a classical +large-sparse-matrix and vector product, a well-researched problem (see, e.g., +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 +\ref{def:strong-simulation-wavefn}), the Feynman simulation method follows from +noticing the following: +% +\begin{equation} + \def\ProdStrut{\rule[-0.3\baselineskip]{0pt}{7pt}} + \everymath={\displaystyle} + \begin{array}{l} + \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)}} + \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}. + +\begin{figure} + \hskip-.5cm\includegraphics[width=0.75\linewidth]{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 + associated amplitude: darker corresponds to greater amplitude. The node + with a negative amplitude is marked with a $(-)$. In a Feynman path + integral interpretation (see section \ref{sec:feynman-simulation}), + each of the drawn paths is considered separately, and then summed, + resulting in the destructive interference of the $\ket{1}$ state.} + \label{fig:interference} +\end{figure} + \appendix \section{Delayed measurement}