Quil (instruction set architecture)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Quil is a quantum instruction set architecture that first introduced a shared quantum/classical memory model. It was introduced by Robert Smith, Michael Curtis, and William Zeng in A Practical Quantum Instruction Set Architecture.[1] Many quantum algorithms (including quantum teleportation, quantum error correction, simulation,[2][3] and optimization algorithms[4]) require a shared memory architecture. Quil is being developed for the superconducting quantum processors developed by Rigetti Computing through the Forest quantum programming API.[5][6] A Python library called pyQuil was introduced to develop Quil programs with higher level constructs. A Quil backend is also supported by other quantum programming environments.[7][8]


The following example demonstrates the classical control flow needed to do quantum teleportation of the qubit in register 0 to register 2:

# Create Bell Pair
H 0
CNOT 0 1
# Teleport
CNOT 2 0
H 2
# Classically communicate measurements
X 1
Z 1


  1. ^ Smith, Robert S.; Curtis, Michael J.; Zeng, William J. (2016-08-10). "A Practical Quantum Instruction Set Architecture". arXiv:1608.03355 [quant-ph].
  2. ^ McClean, Jarrod R.; Romero, Jonathan; Babbush, Ryan; Aspuru-Guzik, Alán (2016-02-04). "The theory of variational hybrid quantum-classical algorithms". New Journal of Physics. 18 (2): 023023. arXiv:1509.04279. Bibcode:2016NJPh...18b3023M. doi:10.1088/1367-2630/18/2/023023. ISSN 1367-2630.
  3. ^ Rubin, Nicholas C. (2016-10-21). "A Hybrid Classical/Quantum Approach for Large-Scale Studies of Quantum Systems with Density Matrix Embedding Theory". arXiv:1610.06910 [quant-ph].
  4. ^ Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2014-11-14). "A Quantum Approximate Optimization Algorithm". arXiv:1411.4028 [quant-ph].
  5. ^ "Rigetti Launches Full-Stack Quantum Computing Service and Quantum IC Fab". IEEE Spectrum: Technology, Engineering, and Science News. Retrieved 2017-07-06.
  6. ^ "Rigetti Quietly Releases Beta of Forest Platform for Quantum Programming in the Cloud | Quantum Computing Report". quantumcomputingreport.com. Retrieved 2017-07-06.
  7. ^ "XACC Rigetti Accelerator". ornl-qci.github.io. Retrieved 2017-07-06.
  8. ^ Doiron, Nick (2017-03-07), jsquil: Quantum computer instructions for JavaScript developers, retrieved 2017-07-06