diff --git a/citations.bib b/citations.bib index 249f888..94051d4 100644 --- a/citations.bib +++ b/citations.bib @@ -522,4 +522,106 @@ author = {Daniel J. Brod}, title = {Efficient classical simulation of matchgate circuits with generalized inputs and measurements}, journal = {Physical Review A} +} + +@inproceedings{Lykov2022, + doi = {10.1109/qce53715.2022.00081}, + url = {https://doi.org/10.1109/qce53715.2022.00081}, + year = {2022}, + month = sep, + publisher = {{IEEE}}, + author = {Danylo Lykov and Roman Schutski and Alexey Galda and Valeri Vinokur and Yuri Alexeev}, + title = {Tensor Network Quantum Simulator With Step-Dependent Parallelization}, + booktitle = {2022 {IEEE} International Conference on Quantum Computing and Engineering ({QCE})} +} + +@article{Gray2021, + doi = {10.22331/q-2021-03-15-410}, + url = {https://doi.org/10.22331/q-2021-03-15-410}, + year = {2021}, + month = mar, + publisher = {Verein zur Forderung des Open Access Publizierens in den Quantenwissenschaften}, + volume = {5}, + pages = {410}, + author = {Johnnie Gray and Stefanos Kourtis}, + title = {Hyper-optimized tensor network contraction}, + journal = {Quantum} +} + +@article{Fried2018, + doi = {10.1371/journal.pone.0208510}, + url = {https://doi.org/10.1371/journal.pone.0208510}, + year = {2018}, + month = dec, + publisher = {Public Library of Science ({PLoS})}, + volume = {13}, + number = {12}, + pages = {e0208510}, + author = {E. Schuyler Fried and Nicolas P. D. Sawaya and Yudong Cao and Ian D. Kivlichan and Jhonathan Romero and Al{\'{a}}n Aspuru-Guzik}, + editor = {Itay Hen}, + title = {{qTorch}: The quantum tensor contraction handler}, + journal = {{PLOS} {ONE}} +} + +@article{Schindler2020, + doi = {10.1088/2632-2153/ab94c5}, + url = {https://doi.org/10.1088/2632-2153/ab94c5}, + year = {2020}, + month = jul, + publisher = {{IOP} Publishing}, + volume = {1}, + number = {3}, + pages = {035001}, + author = {Frank Schindler and Adam S Jermyn}, + title = {Algorithms for tensor network contraction ordering}, + journal = {Machine Learning: Science and Technology} +} + +@inproceedings{Ibrahim2022, + author = {Ibrahim, Cameron and Lykov, Danylo and He, Zichang and Alexeev, Yuri and Safro, Ilya}, + booktitle = {2022 IEEE High Performance Extreme Computing Conference (HPEC)}, + title = {Constructing Optimal Contraction Trees for Tensor Network Quantum Circuit Simulation}, + year = {2022}, + volume = {}, + number = {}, + pages = {1-8}, + doi = {10.1109/HPEC55821.2022.9926353} +} + +@article{Pfeifer2014, + doi = {10.1103/physreve.90.033315}, + url = {https://doi.org/10.1103/physreve.90.033315}, + year = {2014}, + month = sep, + publisher = {American Physical Society ({APS})}, + volume = {90}, + number = {3}, + author = {Robert N. C. Pfeifer and Jutho Haegeman and Frank Verstraete}, + title = {Faster identification of optimal contraction sequences for tensor networks}, + journal = {Physical Review E} +} + + +@article{Liang2021, + author = {Liang, Ling and Xu, Jianyu and Deng, Lei and Yan, Mingyu and Hu, Xing and Zhang, Zheng and Li, Guoqi and Xie, Yuan}, + journal = {IEEE Journal of Selected Topics in Signal Processing}, + title = {Fast Search of the Optimal Contraction Sequence in Tensor Networks}, + year = {2021}, + volume = {15}, + number = {3}, + pages = {574-586}, + doi = {10.1109/JSTSP.2021.3051231} +} + +@article{Pan2022, + doi = {10.1103/physrevlett.128.030501}, + url = {https://doi.org/10.1103/physrevlett.128.030501}, + year = {2022}, + month = jan, + publisher = {American Physical Society ({APS})}, + volume = {128}, + number = {3}, + author = {Feng Pan and Pan Zhang}, + title = {Simulation of Quantum Circuits Using the Big-Batch Tensor Network Method}, + journal = {Physical Review Letters} } \ No newline at end of file diff --git a/main.pdf b/main.pdf index 8db15f9..aecf004 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/main.tex b/main.tex index ae78131..8ad4704 100644 --- a/main.tex +++ b/main.tex @@ -592,13 +592,14 @@ notions more formally: 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: +inspect the intermediate state of a small-scale computation +\cite{Bravyi2016,Haner2016}. 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} @@ -773,7 +774,7 @@ 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 +connectivity graph between qubits, as is common in practical implementations \cite{Arute2019,Kim2023,Saffman2010}, and so is used in multiple works pushing the boundary of quantum advantage, allowing for simulation of circuits with significantly more than $50$ qubits \cite{Chen2018,Li2018,Smelyanskiy2016,Haner2017}. @@ -783,7 +784,7 @@ significantly more than $50$ qubits \cite{Chen2018,Li2018,Smelyanskiy2016,Haner2 Closely related to the Feynman simulation technique, but generalizing the idea, tensor-network based simulation regards quantum circuit simulation as a form of -tensor contraction \cite{Vidal2003,Markov2008,Pednault2020}. +tensor contraction \cite{Vidal2003,Markov2008,Pednault2020,Villalonga2019,Guo2019}. \FootnoteLater{Terminology regarding tensors is not always consistent across works. For example, the terms \emph{way}, \emph{order}, \emph{degree}, or @@ -809,14 +810,51 @@ $$ % is an $(a+c-1,b+d-1)$-type tensor. -Now, clearly, since a state vector is a vector (a rank-$1$ tensor), and each -operation in a quantum circuit may be represented by a matrix (a rank-$2$ -tensor), it is possible to represent a quantum circuit acting on an input state -as a sequence of tensor products and contractions. The result will be a vector, -the components of which are the entries in the state vector resulting from the -action of the quantum circuit in the input state. +Now, it is possible to represent a quantum state of $n$ qubits by an $n$-rank +tensor, where each index has dimension $2$: +% +\begin{equation} + \everymath={\displaystyle} + \begin{array}{r@{\hskip .5cm}c@{\hskip .5cm}l} + \psi^{i_1 i_2 \ldots i_n} & \leftrightarrow & \ket{\psi} = \sum_{i_1, \ldots, i_n = 0,1} \psi^{i_1 \ldots i_n} \ket{i_1}\cdots\ket{i_n} + \end{array} +\end{equation} -A citar \cite{Villalonga2019,Guo2019} +It follows that likewise any quantum operation involving $k$ qubits is given by +a $(k,k)$-type tensor, and the quantum state vector after the operation is given +by a tensor contraction. E.g., +% +\begin{multline} + \ket{\phi} = G\ket{\psi} \quad\leftrightarrow\quad \\ + \phi^{i'_a \ldots i'_k i_{k+1} \ldots i_n} = \sum_{\mathclap{i_a \ldots i_k = 0,1}} G^{i'_a \ldots i'_k}_{i_a \ldots i_k} \psi^{i_a \ldots i_k i_{k+1} \ldots i_n} +\end{multline} +% +where we have above, for simplicity of notation, the action of the gate $G$ to +be on the first $k$ qubits. + +Therefore, it is possible to represent a quantum circuit acting on an input +state as a sequence of tensor products and contractions. The network of +contractions of the multiple tensors is designated by \emph{tensor network}. +The result of the contraction will be a vector, the components of which are the +entries in the state vector resulting from the action of the quantum circuit in +the input state, making this a wave-function strong simulation method +(definition \ref{def:strong-simulation-wavefn}). The method can also be extended +to mixed states \cite{Markov2008}. + +Depending on how the tensor network is contracted, the memory and time necessary +to respectively keep track of the tensor and contract it may vary dramatically +\cite{Lykov2022}. Thus, optimizing the procedure of finding the optimal +contraction ordering, known to be a computationally hard task in its generality, +is a central research topic +\cite{Pfeifer2014,Gray2021,Pednault2020,Fried2018,Schindler2020,Ibrahim2022,Liang2021}. +Nonetheless, one may upper bound the time complexity of the contraction as +$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}. \appendix