Quil (instruction set architecture)
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]
Example
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
MEASURE 2 [0]
MEASURE 0 [1]
# Classically communicate measurements
JUMP-UNLESS @SKIP [1]
X 1
LABEL @SKIP
JUMP-UNLESS @END [0]
Z 1
LABEL @END
References
- ↑ Smith, Robert S.; Curtis, Michael J.; Zeng, William J. (2016-08-10). "A Practical Quantum Instruction Set Architecture". arXiv:1608.03355 [quant-ph].
- ↑ 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.
- ↑ 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].
- ↑ Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2014-11-14). "A Quantum Approximate Optimization Algorithm". arXiv:1411.4028 [quant-ph].
- ↑ "Rigetti Launches Full-Stack Quantum Computing Service and Quantum IC Fab". IEEE Spectrum: Technology, Engineering, and Science News. Retrieved 2017-07-06.
- ↑ "Rigetti Quietly Releases Beta of Forest Platform for Quantum Programming in the Cloud | Quantum Computing Report". quantumcomputingreport.com. Retrieved 2017-07-06.
- ↑ "XACC Rigetti Accelerator". ornl-qci.github.io. Retrieved 2017-07-06.
- ↑ Doiron, Nick (2017-03-07), jsquil: Quantum computer instructions for JavaScript developers, retrieved 2017-07-06