A Practical Quantum Instruction Set Architecture

We introduce an abstract machine architecture for classical/quantum computations---including compilation---along with a quantum instruction language called Quil for explicitly writing these computations. With this formalism, we discuss concrete implementations of the machine and non-trivial algorithms targeting them. The introduction of this machine dovetails with ongoing development of quantum computing technology, and makes possible portable descriptions of recent classical/quantum algorithms.

[1]  Chen-Fu Chiang,et al.  Scaffold: Quantum Programming Language , 2012 .

[2]  Simon Marlow,et al.  Haskell 2010 Language Report , 2010 .

[3]  Andrew T. Sornborger,et al.  Universal quantum simulation with prethreshold superconducting qubits: Single-excitation subspace method , 2012, 1210.5260.

[4]  Alán Aspuru-Guzik,et al.  qHiPSTER: The Quantum High Performance Software Testing Environment , 2016, ArXiv.

[5]  H. Neven,et al.  Digitized adiabatic quantum computing with a superconducting circuit. , 2015, Nature.

[6]  J. Tukey,et al.  An algorithm for the machine calculation of complex Fourier series , 1965 .

[7]  Margaret Martonosi,et al.  ScaffCC: Scalable compilation and analysis of quantum programs , 2015, Parallel Comput..

[8]  S. Poletto,et al.  Detecting bit-flip errors in a logical qubit using stabilizer measurements , 2014, Nature Communications.

[9]  John McCarthy,et al.  Recursive functions of symbolic expressions and their computation by machine, Part I , 1960, Commun. ACM.

[10]  Matthias Troyer,et al.  A software methodology for compiling quantum programs , 2016, ArXiv.

[11]  M. Hastings,et al.  Progress towards practical quantum variational algorithms , 2015, 1507.08969.

[12]  Benoît Valiron,et al.  A Lambda Calculus for Quantum Computation with Classical Control , 2005, TLCA.

[13]  P. Coveney,et al.  Scalable Quantum Simulation of Molecular Energies , 2015, 1512.06860.

[14]  W. M. McKeeman,et al.  Peephole optimization , 1965, CACM.

[15]  Mikhail Smelyanskiy,et al.  High Performance Emulation of Quantum Circuits , 2016, SC16: International Conference for High Performance Computing, Networking, Storage and Analysis.

[16]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[17]  M. Troyer,et al.  Elucidating reaction mechanisms on quantum computers , 2016, Proceedings of the National Academy of Sciences.

[18]  Andrew W. Cross,et al.  Demonstration of quantum advantage in machine learning , 2015, npj Quantum Information.

[19]  E. Farhi,et al.  A Quantum Approximate Optimization Algorithm , 2014, 1411.4028.

[20]  Krysta Marie Svore,et al.  LIQUi|>: A Software Design Architecture and Domain-Specific Language for Quantum Computing , 2014, ArXiv.

[21]  Alfred V. Aho,et al.  A layered software architecture for quantum computing design tools , 2006, Computer.

[22]  Alán Aspuru-Guzik,et al.  The theory of variational hybrid quantum-classical algorithms , 2015, 1509.04279.

[23]  Eric Jones,et al.  SciPy: Open Source Scientific Tools for Python , 2001 .

[24]  Benoît Valiron,et al.  Quipper: a scalable quantum programming language , 2013, PLDI.

[25]  Thierry Paul,et al.  Quantum computation and quantum information , 2007, Mathematical Structures in Computer Science.

[26]  D. Deutsch Quantum theory, the Church–Turing principle and the universal quantum computer , 1985, Proceedings of the Royal Society of London. A. Mathematical and Physical Sciences.

[27]  Barenco,et al.  Elementary gates for quantum computation. , 1995, Physical review. A, Atomic, molecular, and optical physics.

[28]  Alán Aspuru-Guzik,et al.  A variational eigenvalue solver on a photonic quantum processor , 2013, Nature Communications.

[29]  J. Chow,et al.  Quantum information processing with superconducting qubits , 2010 .

[30]  Scott Aaronson,et al.  Quantum Computing since Democritus , 2013 .

[31]  Robin Milner,et al.  Definition of standard ML , 1990 .

[32]  Donald E. Knuth The Art of Computer Programming, Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium (Art of Computer Programming) , 2005 .

[33]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

[34]  Guido D. Salvucci,et al.  Ieee standard for binary floating-point arithmetic , 1985 .

[35]  Frances E. Allen,et al.  Control-flow analysis , 2022 .

[36]  Tony Burgess,et al.  The Language Report , 1974 .

[37]  John M. Martinis,et al.  State preservation by repetitive error detection in a superconducting quantum circuit , 2015, Nature.

[38]  Matthew B. Hastings,et al.  Hybrid quantum-classical approach to correlated materials , 2015, 1510.03859.

[39]  A. Ekert,et al.  Universality in quantum computation , 1995, Proceedings of the Royal Society of London. Series A: Mathematical and Physical Sciences.

[40]  Jay M. Gambetta,et al.  Characterizing a four-qubit planar lattice for arbitrary error detection , 2015, Commercial + Scientific Sensing and Imaging.