diff --git a/citations.bib b/citations.bib index c72a92c..c22512e 100644 --- a/citations.bib +++ b/citations.bib @@ -651,6 +651,82 @@ eprint = {2306.14887} } +@unpublished{Burgholzer2023, + author = {Lukas Burgholzer and Alexander Ploier and Robert Wille}, + note = {Unpublished}, + title = {Tensor Networks or Decision Diagrams? Guidelines for Classical Quantum Circuit Simulation}, + year = {2023}, + archiveprefix = {arXiv}, + primaryclass = {quant-ph}, + eprint = {2302.06616} +} + +@article{Niemann2016, + author = {Niemann, Philipp and Wille, Robert and Miller, David Michael and Thornton, Mitchell A. and Drechsler, Rolf}, + journal = {IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems}, + title = {QMDDs: Efficient Quantum Function Representation and Manipulation}, + year = {2016}, + volume = {35}, + number = {1}, + pages = {86-99}, + doi = {10.1109/TCAD.2015.2459034} +} + +@article{Lu2011, + author = {Lu, Chin-Yung and Wang, Shiou-An and Kuo, Sy-Yen}, + journal = {IEEE Transactions on Computers}, + title = {An Extended XQDD Representation for Multiple-Valued Quantum Logic}, + year = {2011}, + volume = {60}, + number = {10}, + pages = {1377-1389}, + doi = {10.1109/TC.2011.114} +} + +@inproceedings{Zulehner2019efficiently, + author = {Zulehner, Alwin and Hillmich, Stefan and Wille, Robert}, + booktitle = {2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD)}, + title = {How to Efficiently Handle Complex Values? Implementing Decision Diagrams for Quantum Computing}, + year = {2019}, + volume = {}, + number = {}, + pages = {1-7}, + doi = {10.1109/ICCAD45719.2019.8942057} +} + +@inproceedings{Viamontes2004, + author = {Viamontes, G.F. and Markov, I.L. and Hayes, J.P.}, + booktitle = {Proceedings Design, Automation and Test in Europe Conference and Exhibition}, + title = {High-performance QuIDD-based simulation of quantum circuits}, + year = {2004}, + volume = {2}, + number = {}, + pages = {1354-1355 Vol.2}, + doi = {10.1109/DATE.2004.1269084} +} + +@inproceedings{Zulehner2019matrix, + author = {Zulehner, Alwin and Wille, Robert}, + booktitle = {2019 Design, Automation {\&} Test in Europe Conference {\&} Exhibition (DATE)}, + title = {Matrix-Vector vs. Matrix-Matrix Multiplication: Potential in DD-based Simulation of Quantum Computations}, + year = {2019}, + volume = {}, + number = {}, + pages = {90-95}, + doi = {10.23919/DATE.2019.8714836} +} + +@article{Burgholzer2021equivalence, + author = {Burgholzer, Lukas and Wille, Robert}, + journal = {IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems}, + title = {Advanced Equivalence Checking for Quantum Circuits}, + year = {2021}, + volume = {40}, + number = {9}, + pages = {1810-1824}, + doi = {10.1109/TCAD.2020.3032630} +} + @article{Preskill2018, doi = {10.22331/q-2018-08-06-79}, url = {https://doi.org/10.22331/q-2018-08-06-79}, diff --git a/main.pdf b/main.pdf index 02a0503..d46c98b 100644 Binary files a/main.pdf and b/main.pdf differ diff --git a/main.tex b/main.tex index c929f21..e0ddb1a 100644 --- a/main.tex +++ b/main.tex @@ -579,6 +579,7 @@ classical strong simulation is hard \cite{VandenNest2010}. Stating these two notions more formally: \begin{definition}[Strong simulation \cite{VandenNest2010}] + \label{def:strong-simulation} 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 @@ -586,6 +587,7 @@ notions more formally: \end{definition} \begin{definition}[Weak simulation \cite{VandenNest2010}] + \label{def:weak-simulation} 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} @@ -842,11 +844,25 @@ 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}. +The result of the contraction will be a vector (rank-$1$ tensor), the +components of which are the entries in the state vector resulting from the +action of the quantum circuit in the input state. Therefore, contracting the +tensor network in this manner yields a wave-function strong simulation method +(definition \ref{def:strong-simulation-wavefn}). However, it is also possible +to fix a final projector, i.e., calculate the contraction respecting to the +tensor +% +\begin{equation} + \bra{x} U \ket{0_b} = \sum_{\mathclap{i_1, \ldots, i_n = 0,1}} x_{i_1 \ldots i_n} \; U^{i_1 \ldots i_n}_{0, 0, \ldots, 0} +\end{equation} +% +for a computational basis state $\ket{x}$, and where $U$ is the tensor +corresponding to the action of the quantum circuit. In this case, the result of +the contraction is a single complex amplitude (a rank-$0$ tensor), making it +suitable for strong or weak simulation +(defs.~\ref{def:strong-simulation},\ref{def:weak-simulation}). Fixing a final +projector allows for a different contraction order, and may greatly improve the +efficiency of the simulation \cite{Burgholzer2023}. 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 @@ -854,14 +870,22 @@ to respectively keep track of the tensor and contract it may vary dramatically 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; this -motivated the increase of depth in ``quantum supremacy'' experiments, though -other characteristics, like qubit connectivity or better contraction orderings, -may still allow for tensor-based simulation \cite{Gray2021,Pan2022,Tindall2023}. +Nonetheless, when obtaining the state vector, 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; this motivated the increase of depth in ``quantum +supremacy'' experiments, though other characteristics, like qubit connectivity +or better contraction orderings, may still allow for tensor-based simulation +\cite{Gray2021,Pan2022,Tindall2023}. + +Finally, we note the method of \emph{decision diagrams} +\cite{Niemann2016,Lu2011,Zulehner2019efficiently,Viamontes2004,Zulehner2019matrix,Burgholzer2021equivalence}. +Developed in parallel to tensor methods, decision diagrams are similar to +tensor networks, but with less redundancy. This entails both advantages and +drawbacks, and we refer to Ref.~\cite{Burgholzer2023} for a comparison of the +two methods. \subsection{Noise simulation} @@ -885,13 +909,13 @@ These channels, in turn, reflect physical equational models of noise While, for example, tensor-based simulation (section \ref{sec:tensor-network-simulation}) naturally extends to density matrix -simulation, it may seem that the overhead of maintaining a density matrix while -employing \Schrodinger\ or Feynman simulation would be impeditive. However, it -turns out that the effect of the usual noise channels can be rephrased as the -statistical average of random, non-unitary gates in a quantum circuit -\cite{Bassi2008}. Therefore, with an overhead due to repeating the simulation -multiple times to collect statistics, it is possible to extend also the -pure-state based methods to simulate noise. +simulation \cite{Markov2008}, it may seem that the overhead of maintaining a +density matrix while employing \Schrodinger\ or Feynman simulation would be +impeditive. However, it turns out that the effect of the usual noise channels +can be rephrased as the statistical average of random, non-unitary gates in a +quantum circuit \cite{Bassi2008}. Therefore, with an overhead due to repeating +the simulation multiple times to collect statistics, it is possible to extend +also the pure-state based methods to simulate noise. \section{Simulation software} @@ -901,9 +925,9 @@ exhaustive in the number of simulators considered, nor on the benchmarking the considered solutions. The large and growing number of quantum circuit simulators available, and the different possible goals for such software (e.g., small-scale \textit{vs.}~supremacy-scale simulation), would make it impossible -for a complete and even comparison. Thus, we focused on offline, small-scale -simulators, such as those that a researcher might use to validate their -algorithms in toy-settings, and that are recognized in the industry as common. +for a complete and even comparison. Thus, we focused on offline, small-scale, +industry-recognized simulators, such as those that a researcher might use to +validate their algorithms in toy-settings using their laptop. \subsection{Methodology}