量子編程

量子編程（Quantum programming）是匯編指令序列之行程，稱為量子程序，能夠在量子計算機上運行。量子編程語言使用高級結構化的形式以助表達量子演算法的計算。 量子指令集用於將更高級別的演算法轉換為可以在量子處理器上執行的物理指令。有時這些指令是特定於給定的硬體平台，例如離子阱或超導量子位元（英语：Superconducting quantum computing）。 cQASM，也稱為通用QASM，是一種與硬體無關的QASM，可保證所有量子編譯以及仿真工具之間的互相操作性。它是由TUDelft的QCA實驗室所引入的。 Quil是一種用於量子計算的指令集架構，它首先引入了共享量子/經典的記憶模型。它是由"羅伯特·史密斯"(Robert Smith)、"邁克爾·柯蒂斯"(Michael Curtis)，與"威廉·曾"(William Zeng)在"實用量子指令集架構"(A Practical Quantum Instruction Set Architecture)一文中介紹的。許多量子算法（包括量子隱形傳態、量子誤差更正（英语：Quantum error correction）、模擬、以及優化演算法）需要共享記憶架構。 OpenQASM是 IBM 引入用於Qiskit及IBM量子體驗平台（英语：IBM Quantum Experience）的中介表示。 Blackbird是哈納杜量子技術公司（英语：Xanadu Quantum Technologies）及史特貝利菲爾德公司(Strawberry Fields)使用的量子指令集與中介所表示的。Blackbird旨在表示可以於光子量子硬體上運行的連續可變（英语：Continuous-variable quantum information）量子程序。 量子编程语言主要有两类：命令式量子编程语言和函数式量子编程语言。 命令式语言最著名的代表是 QCL、 LanQ 和 Q|SI>。 正在致力于开发用于量子计算的函数式编程语言。函数式编程语言非常适合进行程序推理。一些示例包括 Selinger 的 QPL、Haskell 类 Altenkirch 和 Graattage 的 QML 语言。高阶量子编程语言，基于lambda演算，由 van Tonder、Selinger 和 Valiron 以及 Arrighi 和 Dowek 提出。 量子计算 量子图灵机 量子算法 秀尔算法 量子比特 量子信息科学 量子计算优越性 Jarosław Adam Miszczak. High-level Structures in Quantum Computing. 2012. ISBN 9781608458516.  Bertels, K.; Almudever, C. G.; Hogaboam, J. W.; Ashraf, I.; Guerreschi, G. G.; Khammassi, N. cQASM v1.0: Towards a Common Quantum Assembly Language. 2018-05-24. arXiv:1805.09607v1  [quant-ph] （英语）.  Smith, Robert S.; Curtis, Michael J.; Zeng, William J. A Practical Quantum Instruction Set Architecture. 2016. arXiv:1608.03355  [quant-ph].  McClean, Jarrod R.; Romero, Jonathan; Babbush, Ryan; Aspuru-Guzik, Alán. The theory of variational hybrid quantum-classical algorithms. New Journal of Physics. 2016-02-04, 18 (2): 023023. Bibcode:2016NJPh...18b3023M. ISSN 1367-2630. S2CID 92988541. arXiv:1509.04279 . doi:10.1088/1367-2630/18/2/023023.  Rubin, Nicholas C.; Curtis, Michael J.; Zeng, William J. A Hybrid Classical/Quantum Approach for Large-Scale Studies of Quantum Systems with Density Matrix Embedding Theory. 2016. arXiv:1610.06910  [quant-ph].  Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam. A Quantum Approximate Optimization Algorithm. 2014. arXiv:1411.4028  [quant-ph].  qiskit-openqasm: OpenQASM specification, International Business Machines, 2017-07-04 [2017-07-06], （原始内容存档于2017-04-02）  Blackbird Quantum Assembly Language — Blackbird 0.2.0 documentation. quantum-blackbird.readthedocs.io. [2019-06-24]. （原始内容存档于2022-09-26）.  Weedbrook, Christian; Amy, Matthew; Bergholm, Ville; Quesada, Nicolás; Izaac, Josh; Killoran, Nathan. Strawberry Fields: A Software Platform for Photonic Quantum Computing. Quantum. 2019-03-11, 3: 129. S2CID 54763305. arXiv:1804.03159 . doi:10.22331/q-2019-03-11-129 （英国英语）.  Bernhard Omer. The QCL Programming Language. [2023-12-10]. （原始内容存档于2003-10-08）.  Hynek Mlnařík. LanQ – a quantum imperative programming language. [2023-12-10]. （原始内容存档于2016-05-20）.  Liu, Shusen; Zhou, li; Guan, Ji; He, Yang; Duan, Runyao; Ying, Mingsheng. Q|SI>: A Quantum Programming Language. Scientia Sinica Informationis. 2017-05-09, 47 (10): 1300. S2CID 9163705. arXiv:1710.09500 . doi:10.1360/N112017-00095.  Peter Selinger, "Towards a quantum programming language" （页面存档备份，存于互联网档案馆）, Mathematical Structures in Computer Science 14(4):527-586, 2004. Jonathan Grattage: QML Research （页面存档备份，存于互联网档案馆） (website) T. Altenkirch, V. Belavkin, J. Grattage, A. Green, A. Sabry, J. K. Vizzotto, QML: A Functional Quantum Programming Language 互联网档案馆的存檔，存档日期2006-07-10. (website) Andre van Tonder, "A Lambda Calculus for Quantum Computation", SIAM J. Comput., 33(5), 1109–1135. (27 pages), 2004. Also available from arXiv:quant-ph/0307150 （页面存档备份，存于互联网档案馆） Peter Selinger and Benoît Valiron, "A lambda calculus for quantum computation with classical control" （页面存档备份，存于互联网档案馆）, Mathematical Structures in Computer Science 16(3):527-552, 2006. Pablo Arrighi, Gilles Dowek, "Linear-algebraic lambda-calculus: higher-order, encodings and confluence" （页面存档备份，存于互联网档案馆）, 2006 Mingsheng, Ying. Foundations of quantum programming. Cambridge, MA. 2016. ISBN 978-0128025468. OCLC 945735387.  Quil (指令集架構)（英语：Quil (instruction set architecture)） OpenQASM（英语：OpenQASM） Bibliography on Quantum Programming Languages （页面存档备份，存于互联网档案馆） (updated in May 2007) 5th International Workshop on Quantum Physics and Logic （页面存档备份，存于互联网档案馆） 4th International Workshop on Quantum Programming Languages （页面存档备份，存于互联网档案馆） 3rd International Workshop on Quantum Programming Languages （页面存档备份，存于互联网档案馆） 2nd International Workshop on Quantum Programming Languages （页面存档备份，存于互联网档案馆） Quantum programming language （页面存档备份，存于互联网档案馆） in Quantiki （页面存档备份，存于互联网档案馆） QMASM documentation （页面存档备份，存于互联网档案馆） pyQuil documentation （页面存档备份，存于互联网档案馆） including Introduction to Quantum Computing （页面存档备份，存于互联网档案馆） Scaffold Source （页面存档备份，存于互联网档案馆） Curated list （页面存档备份，存于互联网档案馆） of all open-source quantum software projects