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.
QuESTlink is developed by Tyson Jones within the QTechTheory group at the University of Oxford. To learn more:
- read our whitepaper
- visit our website
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`*
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
We sincerely thank the following contributors to QuESTlink: