Skip to content

QTechTheory/QuESTlink

Repository files navigation

QuESTlink

GitHub release unit tests MIT license

QuESTlink brings the power of QuEST's quantum computer simulation to Mathematica, integrating it with powerful symbolic and diagrammatic facilities. QuESTlink is no mere interface to QuEST; it boasts a substantial number of additional features like analytic calculations, circuit rendering and recompiling, automatic differentiation of parameterised circuits and channels, and realistic quantum device descriptions. QuESTlink is especially fast at emulating variational quantum algorithms using a variety of novel asymptotically superior schemes.

Languages Languages OS OS OS Platforms Platforms Link

QuESTlink is developed by Tyson Jones within the QTechTheory group at the University of Oxford. To learn more:

DOI Email

🚀  Getting started

QuESTlink just works; it is standalone, requires no installation, and can be obtained and deployed entirely within Mathematica or the free Wolfram Engine:

Import["https://qtechtheory.org/questlink.m"]

CreateDownloadedQuESTEnv[]

Read the doc to compile QuESTlink from source to enable multithreading and GPU-acceleration, or to deploy to a remote server.

The extensive API can then be viewed with

?QuEST`*

✅  Features

QuESTlink provides a Mathematica interface to the entire QuEST API and so ergo supports

  • ☑️   statevectors for precise simulation of perfect quantum computers
  • ☑️   density matrices for precise simulation of noisy quantum computers
  • ☑️   general operators with any number of control and target qubits
  • ☑️   general decoherence channels of any dimension
  • ☑️   general Hermitian operators in the Pauli basis
  • ☑️   many many operators, including even Pauli gadgets, analytic phase functions and Trotter circuits
  • ☑️   many tools to analyse quantum states, such as calculations of probability, fidelity, and expected value

QuESTlink significantly extends the funcionality of QuEST to include:

  • ☑️   symbolic gates for concise expression of quantum circuits akin to the literature
  • ☑️   plotting of circuits and channels, of circuit topologies, of density matrices, and of operator schedules.
  • ☑️   analytic calculation of circuits, channels, superoperators and Hermitian operators
  • ☑️   automatic differentiation of parameterised circuits and channels to rapidly compute observable gradients and metric tensors in (even noisy) variational quantum algorithms.
  • ☑️   noise insertion to translate a pure quantum circuit into a noisy channel as prescribed by realistic hardware devices
  • ☑️   much more such as Monte Carlo simulation, calculation of classical shadows, circuit simplification, and convenience functions for generating ansatz circuits and operators

❤️  Acknowledgements

We sincerely thank the following contributors to QuESTlink: