Classical variational simulation of the Quantum Approximate Optimization Algorithm

Matija Medvidovic, Giuseppe Carleo
9/3/2020
quant-phcond-mat.dis-nn

Official code: GTorlai/PastaQ.jl (150 stars, Apache-2.0, last commit 2024-05-17). 1 more implementation below.

Abstract

A key open question in quantum computing is whether quantum algorithms can potentially offer a significant advantage over classical algorithms for tasks of practical interest. Understanding the limits of classical computing in simulating quantum systems is an important component of addressing this question. We introduce a method to simulate layered quantum circuits consisting of parametrized gates, an architecture behind many variational quantum algorithms suitable for near-term quantum computers. A neural-network parametrization of the many-qubit wave function is used, focusing on states relevant for the Quantum Approximate Optimization Algorithm (QAOA). For the largest circuits simulated, we reach 54 qubits at 4 QAOA layers, approximately implementing 324 RZZ gates and 216 RX gates without requiring large-scale computational resources. For larger systems, our approach can be used to provide accurate QAOA simulations at previously unexplored parameter values and to benchmark the next generation of experiments in the Noisy Intermediate-Scale Quantum (NISQ) era.

View on arXivView PDF

Code Implementations(2)

GTorlai/PastaQ.jlOfficial100%
Apache-2.0

Package for Simulation, Tomography and Analysis of Quantum Computers

15024JuliaMay 13, 20202 years agoApache-2.0
machinelearningquantum-algorithmsquantum-computingquantum-controlquantum-tomography+1 more
Apache-2.0

A Quantum circuit simulator based on Restricted Boltzmann Machines.

268PythonMar 31, 20204 years agoApache-2.0

Cite this paper

@article{medvidovic2020classical,
  title  = {Classical variational simulation of the Quantum Approximate Optimization Algorithm},
  author = {Matija Medvidovic and Giuseppe Carleo},
  year   = {2020},
  eprint = {2009.01760},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2009.01760}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2009.01760.svg)](https://codeofpaper.com/paper/2009.01760)

Discussion