Added noise section

This commit is contained in:
Meeg Leeto 2023-07-17 11:08:46 +01:00
parent 750e37feb9
commit faa3bc0b4d
3 changed files with 132 additions and 20 deletions

View File

@ -483,6 +483,21 @@
journal = {Physical Review Letters}
}
@article{McCaskey2018,
doi = {10.1371/journal.pone.0206704},
url = {https://doi.org/10.1371/journal.pone.0206704},
year = {2018},
month = dec,
publisher = {Public Library of Science ({PLoS})},
volume = {13},
number = {12},
pages = {e0206704},
author = {Alexander McCaskey and Eugene Dumitrescu and Mengsu Chen and Dmitry Lyakh and Travis Humble},
editor = {Nicholas Chancellor},
title = {Validating quantum-classical programming models with tensor network simulations},
journal = {{PLOS} {ONE}}
}
@article{Valiant2002,
doi = {10.1137/s0097539700377025},
url = {https://doi.org/10.1137/s0097539700377025},
@ -634,4 +649,50 @@
archiveprefix = {arXiv},
primaryclass = {quant-ph},
eprint = {2306.14887}
}
@article{Preskill2018,
doi = {10.22331/q-2018-08-06-79},
url = {https://doi.org/10.22331/q-2018-08-06-79},
year = {2018},
month = aug,
publisher = {Verein zur Forderung des Open Access Publizierens in den Quantenwissenschaften},
volume = {2},
pages = {79},
author = {John Preskill},
title = {Quantum Computing in the {NISQ} era and beyond},
journal = {Quantum}
}
@book{Breuer2002,
title = {The Theory of Open Quantum Systems},
author = {Breuer, H.P. and Petruccione, F.},
isbn = {9780198520634},
lccn = {2002075713},
url = {https://books.google.pt/books?id=0Yx5VzaMYm8C},
year = {2002},
publisher = {Oxford University Press}
}
@article{Bassi2008,
doi = {10.1103/physreva.77.032323},
url = {https://doi.org/10.1103/physreva.77.032323},
year = {2008},
month = mar,
publisher = {American Physical Society ({APS})},
volume = {77},
number = {3},
author = {Angelo Bassi and Dirk-Andr{\'{e}} Deckert},
title = {Noise gates for decoherent quantum circuits},
journal = {Physical Review A}
}
@software{qsim2020,
author = {Quantum AI team and collaborators},
title = {qsim},
month = Sep,
year = 2020,
publisher = {Zenodo},
doi = {10.5281/zenodo.4023103},
url = {https://doi.org/10.5281/zenodo.4023103}
}

BIN
main.pdf

Binary file not shown.

View File

@ -71,7 +71,7 @@
\begin{document}
\title{Survey on classical quantum computer simulators}
\title{Survey on quantum circuit simulators}
\author{Miguel Mur\c{c}a}
\affiliation{Instituto Superior T\'{e}cnico, University of Lisbon, Portugal}
\date{\today}
@ -554,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.
\subsection{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
@ -693,10 +693,10 @@ 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}.
gate individually. Gate fusion, different encoding techniques and cache-related
considerations, as well as employment of compiler intrinsics, also allow for
speed improvements
\cite{Fatima2021,Smelyanskiy2016,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.,
@ -786,14 +786,14 @@ This method is well suited for simulating circuits with a grid-like
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}.
significantly more than $50$ qubits \cite{Chen2018,Li2018,Haner2017}.
\subsection{Tensor network simulation}
\label{sec:tensor-network-simulation}
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,Villalonga2019,Guo2019}.
tensor contraction \cite{Vidal2003,Markov2008,McCaskey2018,Pednault2020,Villalonga2019,Guo2019}.
\FootnoteLater{Terminology regarding tensors is not always consistent across
works. For example, the terms \emph{way}, \emph{order}, \emph{degree}, or
@ -822,12 +822,10 @@ is an $(a+c-1,b+d-1)$-type tensor.
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}
\begin{multline}
\psi^{i_1 i_2 \ldots i_n} \quad \leftrightarrow \quad \\
\ket{\psi} = \sum_{i_1, \ldots, i_n = 0,1} \psi^{i_1 \ldots i_n} \ket{i_1}\cdots\ket{i_n}
\end{multline}
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
@ -838,7 +836,7 @@ by a tensor contraction. E.g.,
\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
where we have, for simplicity of notation, taken 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
@ -860,11 +858,64 @@ 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, 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}.
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}.
\subsection{Noise simulation}
In the previous subsections, we have considered simulation of ``perfect''
quantum circuits, i.e., circuits that do not simulate the presence of noise
(even though they may consider the presence of noise to speed-up the simulation,
such as in \cite{Markov2018}). However, the presence of noise is practically
unavoidable in current experimental settings \cite{Preskill2018}. Therefore, it
may be useful to simulate a noisy quantum circuit.
\FootnoteLater{For the reader unfamiliar with quantum channels, they may regard
them as a generalization of measurements in the mixed state formulation.}
Typically, the density matrix formalism (\viz.\ section
\ref{sec:density-matrix}) is used to describe the quantum state resulting from
a quantum circuit affected by noise, by modelling the effects of noise as
\emph{quantum channels}, i.e., completely positive, convex-linear,
non-trace-increasing maps on density matrices\FootnoteNow \cite{Nielsen2012}.
These channels, in turn, reflect physical equational models of noise
\cite{Breuer2002}.
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 memory-wise.
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}
In this section we examine some of the publicly available software for
simulating quantum circuits. It is important to note that we do not claim to be
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.
\subsection{Methodology}
\FootnoteLater{As of July $16$, $2023$, the Github repositories for the Cirq,
the Microsoft Quantum, and the Qiskit simulators have, respectively,
$3,\!823$, $3,\!737$, and $3,\!678$, ``stars''.}
We began with the $3$ most popular (at the time of writing) quantum circuit
simulators under the Github ``quantum-computing'' tag\FootnoteNow. Then, we
considered every quantum circuit simulator for which Qiskit provided a backend
interface. For providers of quantum hardware interfacing with Qiskit, we
considered the provider's simulation solution, if it existed.
\appendix