Content deleted Content added
Citation bot (talk | contribs) Alter: title. Add: chapter. Removed parameters. | Use this bot. Report bugs. | #UCB_CommandLine |
m task, replaced: ACM Sigplan Notices → ACM SIGPLAN Notices |
||
Line 3:
{{Use American English|date=February 2023}}
{{Programming paradigms}}
'''Quantum programming''' is the process of designing or [[Assembly language|assembling]] sequences of instructions, called quantum circuits, using gates, switches, and operators to manipulate a quantum system for a desired outcome or results of a given experiment. Quantum circuit algorithms can be implemented on integrated circuits, conducted with instrumentation, or written in a programming language for use with a [[Quantum computing|quantum computer]] or a quantum processor.
With quantum processor based systems, quantum [[programming language]]s help express [[quantum algorithm]]s using high-level constructs.<ref>{{Cite book| author=Jarosław Adam Miszczak |title= High-level Structures in Quantum Computing | isbn=9781608458516|year= 2012 |publisher= Morgan & Claypool Publishers }}</ref> The field is deeply rooted in the [[Open source|open-source]] philosophy and as a result most of the quantum software discussed in this article is freely available as [[Open source software|open-source software]].<ref>{{Cite web|url=https://github.com/qosf/awesome-quantum-software|title=Comprehensive list of quantum open-source projects|website=Github|access-date=2022-01-27}}</ref>
Line 62:
==== PennyLane ====
An [[open-source software|open-source]] [[Python (programming language)|Python]] library developed by [[Xanadu Quantum Technologies]] for [[differentiable programming]] of quantum computers.<ref>{{Cite web|title=PennyLane Documentation — PennyLane 0.14.1 documentation|url=https://pennylane.readthedocs.io/en/stable/|access-date=2021-03-26|website=pennylane.readthedocs.io}}</ref><ref>{{Cite web|date=2021-02-17|title=AWS joins PennyLane, an open-source framework that melds machine learning with quantum computing|url=https://siliconangle.com/2021/02/17/aws-throws-weight-behind-pennylane-open-source-framework-melds-machine-learning-quantum-computing/|access-date=2021-03-26|website=SiliconANGLE|language=en-US}}</ref><ref>{{Cite web|date=2021-02-26|title=SD Times Open-Source Project of the Week: PennyLane|url=https://sdtimes.com/open-source/sd-times-open-source-project-of-the-week-pennylane/|access-date=2021-03-26|website=SD Times|language=en-US}}</ref><ref>{{Cite web|last=Salamone|first=Salvatore|date=2020-12-13|title=Real-time Analytics News Roundup for Week Ending December 12|url=https://www.rtinsights.com/real-time-analytics-news-roundup-for-week-ending-december-12/|access-date=2021-03-26|website=RTInsights|language=en-US}}</ref> PennyLane provides users the ability to create models using [[TensorFlow]], [[NumPy]], or [[PyTorch]], and connect them with quantum computer backends available from [[IBM Quantum Experience|IBMQ]], [[Google|Google Quantum]], [[Rigetti Computing|Rigetti]], [[Quantinuum]]<ref name="auto1">{{Cite web|url=https://www.quantinuum.com/|title=Accelerating Quantum Computing|website=www.quantinuum.com}}</ref> and [[Alpine Quantum Technologies]].<ref name="auto2">{{Cite web|url=https://www.aqt.eu/|title=Home|website=AQT | ALPINE QUANTUM TECHNOLOGIES}}</ref>
==== Quantum Development Kit ====
Line 101:
==== Q|SI> ====
Q|SI> is a platform embedded in [[.NET Framework|.Net]] language supporting quantum programming in a quantum extension of while-language.<ref name=":0">{{Cite journal|last1=Liu|first1=Shusen|last2=Zhou|first2=li|last3=Guan|first3=Ji|last4=He|first4=Yang|last5=Duan|first5=Runyao|last6=Ying|first6=Mingsheng|date=2017-05-09|title=Q|SI>: A Quantum Programming Language|journal=Scientia Sinica Informationis|volume=47|issue=10|pages=1300|doi=10.1360/N112017-00095|arxiv=1710.09500|s2cid=9163705}}</ref><ref>{{Cite journal|last=Ying|first=Mingsheng|date=January 2012|title=Floyd–hoare Logic for Quantum Programs|journal=ACM Trans. Program. Lang. Syst.|volume=33|issue=6|pages=19:1–19:49|doi=10.1145/2049706.2049708|s2cid=416960|issn=0164-0925|doi-access=free}}</ref> This platform includes a compiler of the quantum while-language<ref>{{Cite journal|last1=Ying|first1=Mingsheng|last2=Feng|first2=Yuan|date=2010|title=A Flowchart Language for Quantum Programming|url=https://www.computer.org/csdl/trans/ts/2011/04/tts2011040466-abs.html|journal=IEEE Transactions on Software Engineering|volume=37|issue=4|pages=466–485|doi=10.1109/TSE.2010.94|s2cid=5879273|issn=0098-5589}}</ref> and a chain of tools for the simulation of quantum computation, optimisation of quantum circuits, termination analysis of quantum programs,<ref>{{Cite journal|last1=Ying|first1=Mingsheng|last2=Yu|first2=Nengkun|last3=Feng|first3=Yuan|last4=Duan|first4=Runyao|title=Verification of quantum programs|journal=Science of Computer Programming|volume=78|issue=9|pages=1679–1700|doi=10.1016/j.scico.2013.03.016|year=2013|arxiv=1106.4063|s2cid=18913620}}</ref> and verification of quantum programs.<ref>{{Citation |doi=10.1145/3093333.3009840|hdl=10453/127333 |title=Invariants of quantum programs: Characterisations and generation |date=2017 |last1=Ying |first1=Mingsheng |last2=Ying |first2=Shenggang |last3=Wu |first3=Xiaodi |journal=ACM
==== Q language ====
|