diff --git a/citations.bib b/citations.bib index 94051d4..d7b9345 100644 --- a/citations.bib +++ b/citations.bib @@ -624,4 +624,14 @@ author = {Feng Pan and Pan Zhang}, title = {Simulation of Quantum Circuits Using the Big-Batch Tensor Network Method}, journal = {Physical Review Letters} +} + +@unpublished{Tindall2023, + author = {Joseph Tindall and Matt Fishman and Miles Stoudenmire and Dries Sels}, + note = {Unpublished}, + title = {Efficient tensor network simulation of IBM's kicked Ising experiment}, + year = {2023}, + archiveprefix = {arXiv}, + primaryclass = {quant-ph}, + eprint = {2306.14887} } \ No newline at end of file diff --git a/main.pdf b/main.pdf index aecf004..200c8d1 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/main.tex b/main.tex index 8ad4704..42aaed8 100644 --- a/main.tex +++ b/main.tex @@ -76,14 +76,20 @@ \affiliation{Instituto Superior T\'{e}cnico, University of Lisbon, Portugal} \date{\today} +\begin{abstract} + In this survey, we review some of the main techniques for simulating a + quantum computation on a classical computer, as well as some of the + publicly available simulation software. +\end{abstract} + \maketitle \section{Introduction} -\subsection{Quantum computation fundamentals} +\section{Quantum computation fundamentals} \label{sec:quantum-computation-fundamentals} -\subsubsection{State vector} +\subsection{State vector} \label{sec:state-vector} Quantum computation is the field of study concerned with computation performed @@ -218,6 +224,9 @@ binary string given by each of the qubits, or the corresponding number: \end{equation} } +Where it is clear in context (for example, if a ket is labeled with a value +other than $0$ or $1$), we may drop the subscript $b$. + Per the \Postulate{state space} postulate, a state of $n$ qubits may be given by a linear combination of these basis states: % @@ -246,7 +255,7 @@ postulate that the probability of observing outcome $j$ is given by \Probability_{\ket{\psi}}[j] = \abs{\alpha_j}^2. \end{equation} -\subsubsection{Density matrix} +\subsection{Density matrix} \label{sec:density-matrix} Consider the measurement \eqref{eq:computational-basis-measurement} on state @@ -398,7 +407,7 @@ 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} +\subsection{Quantum circuits} To conclude this section, we introduce a common notation to denote unitary transformations, and by extension quantum algorithms: quantum circuits. @@ -515,7 +524,7 @@ depth scale at most polynomially with input size. \label{table:quantum-circuit} \end{table*} -\subsection{Simulation theory} +\section{Simulation techniques} The quantum computational model, as introduced in the previous section, is believed to be more powerful than the classical computing model @@ -545,7 +554,7 @@ 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} +\subsection{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 @@ -615,7 +624,7 @@ 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} +\subsection{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 @@ -658,7 +667,7 @@ Finally, note also that certain classes of efficiently simulatable circuits not discussed here, such as \emph{matchgate} circuits, may relate non-trivially with Clifford circuits \cite{Valiant2002,Jozsa2008,Brod2016}. -\subsubsection{Schr\"{o}dinger simulation} +\subsection{Schr\"{o}dinger simulation} \label{sec:schrodinger-simulation} \Schrodinger\ simulation refers to the straightforward approach of maintaining @@ -693,7 +702,7 @@ 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} +\subsection{Feynman simulation} \label{sec:feynman-simulation} The Feynman simulation method @@ -707,15 +716,15 @@ noticing the following: \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] + \bra{x} U_L U_{L-1} U_{L-2} \cdots U_2 U_1 \ket{0_b} = {} \\[1em] + {} = \bra{x} U_L (\Sigma_{j=0}^{2^n-1} \dyad{j}) U_{L-1} (\Sigma_{j'=0}^{2^n-1} \dyad{j'}) \\[.5em] + \hfill U_{L-2} \cdots U_2 (\Sigma_{j''=0}^{2^n-1} \dyad{j''}) U_1 \ket{0_b} = {} \\[1em] \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*{y_{(L)}} \equiv \ket{x_b}$. Now, take each of +vector space, and letting $\ket*{y_{(L)}} \equiv \ket{x}$. 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 @@ -750,7 +759,7 @@ also apply to the \Schrodinger-Feynman method (section \label{fig:interference} \end{figure} -\subsubsection{Schr\"{o}dinger-Feynman simulation} +\subsection{Schr\"{o}dinger-Feynman simulation} \label{sec:schrodinger-feynman-simulation} It is possible to establish an intermediate scheme between \Schrodinger\ @@ -779,7 +788,7 @@ connectivity graph between qubits, as is common in practical implementations the boundary of quantum advantage, allowing for simulation of circuits with significantly more than $50$ qubits \cite{Chen2018,Li2018,Smelyanskiy2016,Haner2017}. -\subsubsection{Tensor network simulation} +\subsection{Tensor network simulation} \label{sec:tensor-network-simulation} Closely related to the Feynman simulation technique, but generalizing the idea, @@ -852,9 +861,10 @@ $T^{\BigO(1)}\exp[\BigO(qD)]$, where $T$ is the total number of gates in the circuit, $q$ is the maximum number of adjacent qubits involved in a single operation, and $D$ is the depth of the circuit \cite{Markov2008}. Note how the time complexity grows exponentially with the depth of the circuit; since current -real-world implementations are depth-limited by noise, this may not be an -impeditive factor when attempting to simulate ``quantum supremacy'' experiments -\cite{Gray2021,Pan2022}. +real-world implementations are depth-limited by noise, and in conjunction with +other characteristics, like qubit connectivity, this may not be an impeditive +factor when attempting to simulate ``quantum supremacy'' experiments +\cite{Gray2021,Pan2022,Tindall2023}. \appendix