Added noise section
This commit is contained in:
parent
750e37feb9
commit
e3ab461822
|
@ -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}
|
||||
}
|
91
main.tex
91
main.tex
|
@ -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. 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
|
||||
|
||||
|
|
Loading…
Reference in New Issue