Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Quantum programming

From Wikipedia, the free encyclopedia
Computer programming for quantum computers
This articlerelies excessively onreferences toprimary sources. Please improve this article by addingsecondary or tertiary sources.
Find sources: "Quantum programming" – news ·newspapers ·books ·scholar ·JSTOR
(August 2024) (Learn how and when to remove this message)

Quantum programming refers to the process of designing and implementing algorithms that operate onquantum systems, typically using quantum circuits composed of quantum gates, measurements, and classical control logic. These circuits are developed to manipulate quantum states for specific computational tasks or experimental outcomes. Quantum programs may be executed on quantum processors, simulated on classical hardware, or implemented through laboratory instrumentation for research purposes.

When working with quantum processor-based systems, quantum programming languages provide high-level abstractions to express quantum algorithms efficiently. These languages often integrate with classical programming environments and support hybrid quantum-classical workflows. The development of quantum software has been strongly influenced by theopen-source community, with many toolkits and frameworks—such asQiskit,Cirq, PennyLane, and qBraid SDK—available under open licenses.[1][2]

Quantum programming can also be used to model or control experimental systems through quantum instrumentation and sensor-based platforms. While some quantum computing architectures—such aslinear optical quantum computing using theKLM protocol—require specialized hardware, others use gate-based quantum processors accessible through software interfaces. In both cases, quantum programming serves as the bridge between theoretical algorithms and physical implementation.

Quantum instruction sets

[edit]

Quantum instruction sets are used to turn higher level algorithms into physical instructions that can be executed on quantum processors. Sometimes these instructions are specific to a given hardware platform, e.g.ion traps orsuperconducting qubits.

Blackbird

[edit]

Blackbird[3][4] is a quantum instruction set and intermediate representation used byXanadu Quantum Technologies and Strawberry Fields. It is designed to representcontinuous-variable quantum programs that can run on photonic quantum hardware.

cQASM

[edit]

cQASM,[5] also known as common QASM, is a hardware-agnostic quantum assembly language which guarantees the interoperability between all the quantum compilation and simulation tools. It was introduced by the QCA Lab atTUDelft.

OpenQASM

[edit]
Main article:OpenQASM

OpenQASM[6] is the intermediate representation introduced by IBM for use withQiskit and the IBM Quantum Platform.

QIR

[edit]

Quantum Intermediate Representation (QIR) is a hardware-agnostic intermediate representation developed byMicrosoft as part of theQuantum Development Kit. It is based on theLLVM compiler infrastructure and is designed to represent quantum programs in a way that supports optimization and execution across diverse quantum hardware backends.[7] QIR serves as a common target for quantum compilers, enabling interoperation between different programming languages, such as Q#, and low-level hardware control layers. It is maintained by theQIR Alliance, a collaborative group of academic and industry partners.

Quil

[edit]
Main article:Quil (instruction set architecture)

Quil is an instruction set architecture for quantum computing that first introduced a shared quantum/classical memory model. It was introduced by Robert Smith, Michael Curtis, and William Zeng inA Practical Quantum Instruction Set Architecture.[8] Many quantum algorithms (includingquantum teleportation,quantum error correction, simulation,[9][10] and optimization algorithms[11]) require a shared memory architecture.

Quantum software development kits

[edit]

Quantumsoftware development kits provide collections of tools to create and manipulate quantum programs.[12] They also provide the means to simulate the quantum programs or prepare them to be run usingcloud-based quantum devices and self-hosted quantum devices.

SDKs with access to quantum processors

[edit]

The followingsoftware development kits can be used to run quantum circuits on prototype quantum devices, as well as on simulators.

Cirq

[edit]
Main article:Cirq

An open source project developed byGoogle, which uses thePython programming language to create and manipulate quantum circuits. Programs written in Cirq can be run onIonQ,Pasqal,[13]Rigetti, andAlpine Quantum Technologies.[14]

Classiq

[edit]

A cloud-based quantum IDE developed by Classiq, uses a high-level quantum language,Qmod, to generate scalable and efficient quantum circuits with a hardware-aware synthesis engine, that can be deployed across a wide range of QPUs. The platform includes a large library of quantum algorithms.

Forest

[edit]

An open source project developed byRigetti, which uses thePython programming language to create and manipulate quantum circuits. Results are obtained either using simulators or prototype quantum devices provided by Rigetti. As well as the ability to create programs using basic quantum operations, higher level algorithms are available within the Grove package.[15] Forest is based on theQuil instruction set.

MindQuantum

[edit]

MindQuantum is a quantum computing framework based onMindSpore, focusing on the implementation ofNISQ algorithms.[16][17][18]

Ocean

[edit]

Anopen source suite of tools developed by D-Wave. Written mostly in the Python programming language, it enables users to formulate problems in Ising Model and Quadratic Unconstrained Binary Optimization formats (QUBO). Results can be obtained by submitting to an online quantum computer in Leap, D-Wave's real-time Quantum Application Environment, customer-owned machines, or classical samplers.[citation needed]

PennyLane

[edit]

Anopen-source Python library developed byXanadu Quantum Technologies fordifferentiable programming of quantum computers.[19][20][21][22] PennyLane provides users the ability to create models usingTensorFlow,NumPy, orPyTorch, and connect them with quantum computer backends available fromIBMQ,Google Quantum,Rigetti,Quantinuum[23] andAlpine Quantum Technologies.[14][24]

Perceval

[edit]

An open-source project created byQuandela [fr] for designing photonic quantum circuits and developing quantum algorithms, based onPython. Simulations are run either on the user's own computer or on thecloud. Perceval is also used to connect to Quandela's cloud-basedphotonic quantum processor.[25][26]

Sample code using projectq with Python

ProjectQ

[edit]

An open source project developed at the Institute for Theoretical Physics atETH, which uses the Python programming language to create and manipulate quantum circuits.[27] Results are obtained either using a simulator, or by sending jobs to IBM quantum devices.

qBraid SDK

[edit]

The qBraid SDK is anopen-source platform-agnostic quantum runtime framework developed by qBraid. It enables users to write quantum programs once and execute them across various quantum hardware and simulators without modifying the code. The SDK supports multiple quantum programming libraries, including Qiskit, Cirq, PennyLane, PyQuil, and Braket, among others. It features a graph-based transpiler that facilitates conversion between different quantum program types, allowing seamless interoperability between frameworks. The SDK also provides tools for job submission, result retrieval, and circuit visualization. It is integrated with qBraid Lab, offering access to over 20 quantum devices and simulators from providers such as IonQ, Rigetti, QuEra, and IQM.[28][29]

Qibo

[edit]

An open source full-stack API for quantum simulation, quantum hardware control and calibration developed by multiple research laboratories, includingQRC,CQT andINFN.Qibo is a modular framework which includes multiple backends for quantum simulation and hardware control.[30][31] This project aims at providing a platform agnostic quantum hardware control framework with drivers for multiple instruments[32] and tools for quantum calibration, characterization and validation.[33] This framework focuses on self-hosted quantum devices by simplifying the software development required in labs.

Qiskit

[edit]
Main article:Qiskit

An open source project developed byIBM.[34] Quantum circuits are created and manipulated using Python. Results are obtained either using simulators that run on the user's own device, simulators provided by IBM or prototype quantum devices provided by IBM. As well as the ability to create programs using basic quantum operations, higher level tools for algorithms and benchmarking are available within specialized packages.[35] Qiskit is based on theOpenQASM standard for representing quantum circuits. It also supports pulse level control of quantum systems via QiskitPulse standard.[36]

Qrisp

[edit]

Qrisp[37] is an open source project coordinated by theEclipse Foundation[38] and developed in Python programming byFraunhofer FOKUS[39] Qrisp is a high-level programming language for creating and compiling quantum algorithms. Its structured programming model enables scalable development and maintenance. The expressive syntax is based on variables instead of qubits, with the QuantumVariable as core class, and functions instead of gates. Additional tools, such as a performant simulator and automatic uncomputation, complement the extensive framework. Furthermore, it is platform independent, since it offers alternative compilation of elementary functions down to the circuit level, based on device-specific gate sets.

Quantum Development Kit

[edit]

A project developed byMicrosoft[40] as part of the.NET Framework. Quantum programs can be written and run withinVisual Studio andVSCode using the quantum programming language Q#. Programs developed in the QDK can be run on Microsoft'sAzure Quantum,[41] and run on quantum computers fromQuantinuum,[23]IonQ, andPasqal.[13]

Strawberry Fields

[edit]

Anopen-source Pythonlibrary developed byXanadu Quantum Technologies for designing, simulating, and optimizingcontinuous variable (CV)quantum optical circuits.[42][43] Three simulators are provided—one in theFock basis, one using the Gaussian formulation of quantum optics,[44] and one using theTensorFlow machine learning library. Strawberry Fields is also the library for executing programs on Xanadu's quantum photonic hardware.[45][46]

t|ket>

[edit]

A quantum programming environment and optimizing compiler developed by Quantinuum that targets simulators and several trapped-ion quantum hardware backends, released in December 2018.[47]

Wolfram Quantum Framework

[edit]

An add-onWolfram Language paclet that provides a symbolic, high-level representation for quantum objects such as basis, states, operators, channels, measurements, and circuits, integrated withMathematica.[48] The framework includes tools for simulation and analysis—such as time evolution, measurement simulation, entanglement monotones, partial trace/transpose, discrete Wigner transforms, stabilizer methods, and tensor-network utilities—as well as a library of named constructs (e.g., Bell/GHZ states,Pauli operators, Fourier, Grover etc.).[48] It offers built-in visualization (e.g., circuit diagrams and Bloch-sphere plots) and interoperability with external platforms, including conversion to Qiskit and Amazon Braket formats and the ability to send queries to quantum processing units (QPUs) via service connections.

Quantum programming languages

[edit]

There are two main groups of quantum programming languages:imperative quantum programming languages andfunctional quantum programming languages.

Imperative languages

[edit]

The most prominent representatives of the imperative languages are QCL,[49] LanQ[50] and Q|SI>.[51]

Ket

[edit]

Ket[52] is an open-source embedded language designed to facilitate quantum programming, leveraging the familiar syntax and simplicity of Python. It serves as an integral component of the Ket Quantum Programming Platform,[53] seamlessly integrating with aRustruntime library and a quantum simulator. Maintained by Quantuloop, the project emphasizes accessibility and versatility for researchers and developers. The following example demonstrates the implementation of aBell state using Ket:

fromketimport*a,b=quant(2)# Allocate two quantum bitsH(a)# Put qubit `a` in a superpositioncnot(a,b)# Entangle the two qubits in the Bell statem_a=measure(a)# Measure qubit `a`, collapsing qubit `b` as wellm_b=measure(b)# Measure qubit `b`# Assert that the measurement of both qubits will always be equalassertm_a.value==m_b.value

LQP

[edit]

The Logic of Quantum Programs (LQP) is a dynamic quantum logic, capable of expressing important features of quantum measurements and unitary evolutions of multi-partite states, and provides logical characterizations of various forms of entanglement. The logic has been used to specify and verify the correctness of various protocols in quantum computation.[54][55]

Q language

[edit]

Q Language is the second implemented imperative quantum programming language.[56] Q Language was implemented as an extension ofC++ programming language. It provides classes for basic quantum operations like QHadamard, QFourier, QNot, and QSwap, which are derived from the base class Qop. New operators can be defined using C++ class mechanism.

Quantum memory is represented by class Qreg.

Qregx1;// 1-qubit quantum register with initial value 0Qregx2(2,0);// 2-qubit quantum register with initial value 0

The computation process is executed using a provided simulator. Noisy environments can be simulated using parameters of the simulator.

Q#

[edit]
Main article:Q Sharp

A language developed byMicrosoft to be used with theQuantum Development Kit.[57]

QCL

[edit]
Main article:Quantum Computation Language

Quantum Computation Language (QCL) is one of the first implemented quantumprogramming languages.[58] The most important feature of QCL is the support for user-defined operators and functions. Itssyntax resembles the syntax of theC programming language and its classicaldata types are similar to primitive data types in C. One can combine classical code and quantum code in the same program.

qGCL

[edit]

Quantum Guarded Command Language (qGCL) was defined by P. Zuliani in his PhD thesis. It is based onGuarded Command Language created byEdsger Dijkstra.

It can be described as a language of quantum programs specification.

QMASM

[edit]

Quantum Macro Assembler (QMASM) is a low-level language specific to quantum annealers such as the D-Wave.[59]

Qmod

[edit]

Quantum Modeling (Qmod) language is a high-level language that abstracts away the gate-level qubit operation, providing a functional approach to the implementation of quantum algorithms on quantum registers. The language is part of theClassiq platform and can be used directly with its native syntax, through a Python SDK, or with a visual editor, all methods can take advantage of the larger library of algorithms and the efficient circuit optimization.

Q|SI>

[edit]

Q|SI> is a platform embedded in.Net language supporting quantum programming in a quantum extension of while-language.[51][60] This platform includes a compiler of the quantum while-language[61] and a chain of tools for the simulation of quantum computation, optimisation of quantum circuits, termination analysis of quantum programs,[62] and verification of quantum programs.[63][64]

Quantum pseudocode

[edit]

Quantum pseudocode proposed by E. Knill is the first formalized language for description ofquantum algorithms. It was introduced and, moreover, was tightly connected with a model of quantum machine calledQuantum Random Access Machine (QRAM).

Scaffold

[edit]

Scaffold is a C-like language, that compiles to QASM and OpenQASM. It is built on top of theLLVM Compiler Infrastructure to perform optimizations on Scaffold code before generating a specified instruction set.[65][66]

Silq

[edit]

Silq is a high-level programming language for quantum computing with a strong static type system, developed atETH Zürich.[67][68]

Functional languages

[edit]

Efforts are underway to developfunctional programming languages forquantum computing. Functional programming languages are well-suited for reasoning about programs. Examples include Selinger's QPL,[69] and theHaskell-like language QML by Altenkirch and Grattage.[70][71] Higher-order quantum programming languages, based onlambda calculus, have been proposed by van Tonder,[72] Selinger and Valiron[73] and by Arrighi and Dowek.[74]

LIQUi|>

[edit]

LIQUi|> (pronouncedliquid) is a quantum simulation extension on theF# programming language.[75] It is currently being developed by the Quantum Architectures and Computation Group (QuArC)[76] part of the StationQ efforts at Microsoft Research. LIQUi|> seeks to allow theorists to experiment with quantum algorithm design before physical quantum computers are available for use.[77]

It includes a programming language, optimization and scheduling algorithms, and quantum simulators. LIQUi|> can be used to translate a quantum algorithm written in the form of a high-level program into the low-level machine instructions for a quantum device.[78]

QFC and QPL

[edit]

QFC and QPL are two closely related quantum programming languages defined by Peter Selinger. They differ only in their syntax: QFC uses a flow chart syntax, whereas QPL uses a textual syntax. These languages have classical control flow but can operate on quantum or classical data. Selinger gives a denotational semantics for these languages in a category ofsuperoperators.

QML

[edit]

QML is aHaskell-like quantum programming language by Altenkirch and Grattage.[79][70] Unlike Selinger's QPL, this language takes duplication, rather than discarding, of quantum information as a primitive operation. Duplication in this context is understood to be the operation that maps|ϕ{\displaystyle |\phi \rangle } to|ϕ|ϕ{\displaystyle |\phi \rangle \otimes |\phi \rangle }, and is not to be confused with the impossible operation ofcloning; the authors claim it is akin to how sharing is modeled in classical languages. QML also introduces both classical and quantum control operators, whereas most other languages rely on classical control.

Anoperational semantics for QML is given in terms ofquantum circuits, while adenotational semantics is presented in terms ofsuperoperators, and these are shown to agree. Both the operational and denotational semantics have been implemented (classically) in Haskell.[80]

Quantum lambda calculi

[edit]

Quantum lambda calculi are extensions of the classicallambda calculus introduced byAlonzo Church andStephen Cole Kleene in the 1930s. The purpose of quantum lambda calculi is to extend quantum programming languages with a theory ofhigher-order functions.

The first attempt to define a quantum lambda calculus was made by Philip Maymin in 1996.[81] His lambda-q calculus is powerful enough to express any quantum computation. However, this language can efficiently solveNP-complete problems, and therefore appears to be strictly stronger than the standard quantum computational models (such as thequantum Turing machine or thequantum circuit model). Therefore, Maymin's lambda-q calculus is probably not implementable on a physical device.[citation needed]

In 2003, André van Tonder defined an extension of thelambda calculus suitable for proving correctness of quantum programs. He also provided an implementation in theScheme programming language.[82]

In 2004, Selinger and Valiron defined astrongly typed lambda calculus for quantum computation with a type system based onlinear logic.[83]

Quipper

[edit]
For the education technology company, seeQuipper (company).

Quipper was published in 2013.[84][85] It is implemented as an embedded language, usingHaskell as the host language.[86] For this reason, quantum programs written in Quipper are written in Haskell using provided libraries. For example, the following code implements preparation of a superposition

importQuipperspos::Bool->CircQubitsposb=doq<-qinitbr<-hadamardqreturnr

See also

[edit]

References

[edit]
  1. ^Häner, Thomas; Steiger, Damian S.;Svore, Krysta; Troyer, Matthias (2018). "A software methodology for compiling quantum programs".Quantum Science and Technology.3 (2): 020501.arXiv:1604.01401.Bibcode:2018QS&T....3b0501H.doi:10.1088/2058-9565/aaa5cc.ISSN 2058-9565.
  2. ^"Qiskit GitHub repository".GitHub.
  3. ^"Blackbird Quantum Assembly Language — Blackbird 0.2.0 documentation".quantum-blackbird.readthedocs.io. RetrievedJune 24, 2019.
  4. ^Weedbrook, Christian; Amy, Matthew; Bergholm, Ville; Quesada, Nicolás; Izaac, Josh; Killoran, Nathan (March 11, 2019). "Strawberry Fields: A Software Platform for Photonic Quantum Computing".Quantum.3 129.arXiv:1804.03159.Bibcode:2019Quant...3..129K.doi:10.22331/q-2019-03-11-129.S2CID 54763305.
  5. ^Bertels, K.; Almudever, C. G.; Hogaboam, J. W.; Ashraf, I.; Guerreschi, G. G.; Khammassi, N. (May 24, 2018). "cQASM v1.0: Towards a Common Quantum Assembly Language".arXiv:1805.09607v1 [quant-ph].
  6. ^qiskit-openqasm: OpenQASM specification, International Business Machines, July 4, 2017, retrievedJuly 6, 2017
  7. ^"Quantum Intermediate Representation (QIR)".QIR Alliance. RetrievedJune 2, 2025.
  8. ^Smith, Robert S.; Curtis, Michael J.; Zeng, William J. (2016). "A Practical Quantum Instruction Set Architecture".arXiv:1608.03355 [quant-ph].
  9. ^McClean, Jarrod R.; Romero, Jonathan; Babbush, Ryan; Aspuru-Guzik, Alán (February 4, 2016). "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.S2CID 92988541.
  10. ^Rubin, Nicholas C.; Curtis, Michael J.; Zeng, William J. (2016). "A Hybrid Classical/Quantum Approach for Large-Scale Studies of Quantum Systems with Density Matrix Embedding Theory".arXiv:1610.06910 [quant-ph].
  11. ^Farhi, Edward; Goldstone, Jeffrey; Gutmann, Sam (2014). "A Quantum Approximate Optimization Algorithm".arXiv:1411.4028 [quant-ph].
  12. ^Häner, Thomas; Steiger, Damian S.;Svore, Krysta; Troyer, Matthias (2018). "A software methodology for compiling quantum programs".Quantum Science and Technology.3 (2): 020501.arXiv:1604.01401.Bibcode:2018QS&T....3b0501H.doi:10.1088/2058-9565/aaa5cc.ISSN 2058-9565.S2CID 1922315.
  13. ^ab"PASQAL".PASQAL. Archived fromthe original on July 15, 2022. RetrievedJuly 6, 2022.
  14. ^ab"Home".AQT | ALPINE QUANTUM TECHNOLOGIES.
  15. ^"Welcome to the Documentation for Grove! – Grove 1.7.0 documentation".grove-docs.readthedocs.io.
  16. ^"MindSpore Quantum Documentation".www.mindspore.cn/mindquantum.
  17. ^Xu, Xusheng; et al. (2024). "MindSpore Quantum: A User-Friendly, High-Performance, and AI-Compatible Quantum Computing Framework".arXiv:2406.17248 [quant-ph].
  18. ^"mindquantum".github.com.
  19. ^"PennyLane 0.14.1 documentation".pennylane.readthedocs.io. RetrievedMarch 26, 2021.
  20. ^"AWS joins PennyLane, an open-source framework that melds machine learning with quantum computing".SiliconANGLE. February 17, 2021. RetrievedMarch 26, 2021.
  21. ^"SD Times Open-Source Project of the Week: PennyLane".SD Times. February 26, 2021. RetrievedMarch 26, 2021.
  22. ^Salamone, Salvatore (December 13, 2020)."Real-time Analytics News Roundup for Week Ending December 12".RTInsights. RetrievedMarch 26, 2021.
  23. ^ab"Accelerating Quantum Computing".www.quantinuum.com.
  24. ^"Plugins and ecosystem".pennylane.ai. Archived fromthe original on September 26, 2021. RetrievedMarch 26, 2021.
  25. ^"La puissance d'un ordinateur quantique testée en ligne (The power of a quantum computer tested online)".Le Monde.fr. Le Monde. November 22, 2022.
  26. ^Heurtel, Nicolas; Fyrillas, Andreas; de Gliniasty, Grégoire; Le Bihan, Raphaël; Malherbe, Sébastien; Pailhas, Marceau; Bertasi, Eric; Bourdoncle, Boris; Emeriau, Pierre-Emmanuel; Mezher, Rawad; Music, Luka; Belabas, Nadia; Valiron, Benoît; Senellart, Pascale; Mansfield, Shane; Senellart, Jean (February 21, 2023)."Perceval: A Software Platform for Discrete Variable Photonic Quantum Computing".Quantum.7 931.arXiv:2204.00602.Bibcode:2023Quant...7..931H.doi:10.22331/q-2023-02-21-931.S2CID 247922568.
  27. ^"Home".
  28. ^"qBraid SDK Overview".docs.qbraid.com.
  29. ^"qBraid Announces qBraid SDK Integrated with Amazon Braket on qBraid Lab".qbraid.com.
  30. ^Efthymiou, Stavros; Ramos-Calderer, Sergi; Bravo-Prieto, Carlos; Pérez-Salinas, Adrián; García-Martín, Diego; Garcia-Saez, Artur; Latorre, José Ignacio; Carrazza, Stefano (January 1, 2022)."Qibo: a framework for quantum simulation with hardware acceleration".Quantum Science and Technology.7 (1): 015018.arXiv:2009.01845.Bibcode:2022QS&T....7a5018E.doi:10.1088/2058-9565/ac39f5.hdl:2434/887963.ISSN 2058-9565.S2CID 221507478.
  31. ^Efthymiou, Stavros; Lazzarin, Marco; Pasquale, Andrea; Carrazza, Stefano (September 22, 2022)."Quantum simulation with just-in-time compilation".Quantum.6 814.arXiv:2203.08826.Bibcode:2022Quant...6..814E.doi:10.22331/q-2022-09-22-814.S2CID 247518955.
  32. ^"Qibolab". November 2, 2022 – via GitHub.
  33. ^"Qibocal". November 1, 2022 – via GitHub.
  34. ^"qiskit.org".qiskit.org.
  35. ^"Qiskit Overview". RetrievedFebruary 10, 2021.
  36. ^McKay, David C.; Alexander, Thomas; Bello, Luciano; Biercuk, Michael J.; Bishop, Lev; Chen, Jiayin; Chow, Jerry M.; Córcoles, Antonio D.; Egger, Daniel; Filipp, Stefan; Gomez, Juan; Hush, Michael; Javadi-Abhari, Ali; Moreda, Diego; Nation, Paul; Paulovicks, Brent; Winston, Erick; Wood, Christopher J.; Wootton, James; Gambetta, Jay M. (2018). "Qiskit Backend Specifications for OpenQASM and OpenPulse Experiments".arXiv:1809.03452 [quant-ph].
  37. ^"Qrisp official website".
  38. ^"Eclipse Foundation (website)".
  39. ^"Fraunhofer FOKUS (website)".
  40. ^"Azure Quantum documentation, QDK & Q# API reference - Azure Quantum".learn.microsoft.com.
  41. ^"What is Azure Quantum? - Azure Quantum".learn.microsoft.com. January 11, 2023.
  42. ^"Strawberry Fields – Strawberry Fields 0.8.0 documentation".strawberryfields.readthedocs.io. RetrievedSeptember 25, 2018.
  43. ^Killoran, Nathan; Izaac, Josh; Quesada, Nicolás; Bergholm, Ville; Amy, Matthew; Weedbrook, Christian (2019). "Strawberry Fields: A Software Platform for Photonic Quantum Computing".Quantum.3 129.arXiv:1804.03159.Bibcode:2019Quant...3..129K.doi:10.22331/q-2019-03-11-129.S2CID 54763305.
  44. ^Weedbrook, Christian; Pirandola, Stefano; García-Patrón, Raúl; Cerf, Nicolas J.; Ralph, Timothy C.; Shapiro, Jeffrey H.; Lloyd, Seth (May 1, 2012). "Gaussian quantum information".Reviews of Modern Physics.84 (2):621–669.arXiv:1110.3234.Bibcode:2012RvMP...84..621W.doi:10.1103/RevModPhys.84.621.S2CID 119250535.
  45. ^"Hardware".strawberryfields.ai. RetrievedMarch 26, 2021.
  46. ^"In the Race to Hundreds of Qubits, Photons May Have "Quantum Advantage"".IEEE Spectrum: Technology, Engineering, and Science News. March 5, 2021. RetrievedMarch 26, 2021.
  47. ^"pytket".GitHub. January 22, 2022.
  48. ^ab"QuantumFramework".resources.wolframcloud.com. RetrievedAugust 18, 2025.
  49. ^Omer, Bernhard."The QCL Programming Language".
  50. ^Hynek Mlnařík."LanQ – a quantum imperative programming language".
  51. ^abLiu, Shusen; Zhou, li; Guan, Ji; He, Yang; Duan, Runyao; Ying, Mingsheng (May 9, 2017). "Q|SI>: A Quantum Programming Language".Scientia Sinica Informationis.47 (10): 1300.arXiv:1710.09500.doi:10.1360/N112017-00095.S2CID 9163705.
  52. ^Da Rosa, Evandro Chagas Ribeiro; De Santiago, Rafael (January 31, 2022)."Ket Quantum Programming".ACM Journal on Emerging Technologies in Computing Systems.18 (1):1–25.doi:10.1145/3474224.ISSN 1550-4832.
  53. ^"Ket Quantum Programming".quantumket.org. RetrievedMay 18, 2023.
  54. ^A. Baltag and S. Smets,"LQP: The Dynamic Logic of Quantum Information", Mathematical Structures in Computer Science 16(3):491-525, 2006.
  55. ^Baltag, Alexandru; Bergfeld, Jort; Kishida, Kohei; Sack, Joshua; Smets, Sonja; Zhong, Shengyang (2014)."PLQP & Company: Decidable Logics for Quantum Algorithms".International Journal of Theoretical Physics.53 (10):3628–3647.Bibcode:2014IJTP...53.3628B.doi:10.1007/s10773-013-1987-3.S2CID 254573992.
  56. ^"Software for the Q language". November 23, 2001. Archived fromthe original on June 20, 2009. RetrievedJuly 20, 2017.
  57. ^"Introduction to Q# & Quantum Development Kit - Azure Quantum".learn.microsoft.com. March 30, 2023.
  58. ^"QCL - A Programming Language for Quantum Computers".tuwien.ac.at. RetrievedJuly 20, 2017.
  59. ^Scott Pakin,"A Quantum Macro Assembler", Proceedings of the 20th Annual IEEE High Performance Extreme Computing Conference 2016
  60. ^Ying, Mingsheng (January 2012)."Floyd–hoare Logic for Quantum Programs".ACM Trans. Program. Lang. Syst.33 (6): 19:1–19:49.doi:10.1145/2049706.2049708.ISSN 0164-0925.S2CID 416960.
  61. ^Ying, Mingsheng; Feng, Yuan (2010)."A Flowchart Language for Quantum Programming".IEEE Transactions on Software Engineering.37 (4):466–485.doi:10.1109/TSE.2010.94.ISSN 0098-5589.S2CID 5879273.
  62. ^Ying, Mingsheng; Yu, Nengkun; Feng, Yuan; Duan, Runyao (2013). "Verification of quantum programs".Science of Computer Programming.78 (9):1679–1700.arXiv:1106.4063.doi:10.1016/j.scico.2013.03.016.S2CID 18913620.
  63. ^Ying, Mingsheng; Ying, Shenggang; Wu, Xiaodi (2017), "Invariants of quantum programs: Characterisations and generation",ACM SIGPLAN Notices,52:818–832,doi:10.1145/3093333.3009840,hdl:10453/127333
  64. ^Liu, Tao; Li, Yangjia; Wang, Shuling; Ying, Mingsheng; Zhan, Naijun (2016). "A Theorem Prover for Quantum Hoare Logic and its Applications".arXiv:1601.03835 [cs.LO].
  65. ^Javadi-Abhari, Ali."Scaffold: Quantum Programming Language".Princeton University-Department of Computer Science. Princeton University. Archived fromthe original on September 20, 2020. RetrievedSeptember 22, 2020.
  66. ^Litteken, Andrew (May 28, 2020)."An updated LLVM-based quantum research compiler with further OpenQASM support".Quantum Science and Technology.5 (3): 034013.Bibcode:2020QS&T....5c4013L.doi:10.1088/2058-9565/ab8c2c.OSTI 1803951.S2CID 219101628.
  67. ^"What is Silq?".silq.ethz.ch. RetrievedJune 21, 2020.
  68. ^Bichsel, Benjamin; Baader, Maximilian; Gehr, Timon; Vechev, Martin (June 11, 2020). "Silq: A high-level quantum language with safe uncomputation and intuitive semantics".Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation. London UK: ACM. pp. 286–300.doi:10.1145/3385412.3386007.ISBN 978-1-4503-7613-6.S2CID 219397029.
  69. ^Peter Selinger,"Towards a quantum programming language", Mathematical Structures in Computer Science 14(4):527-586, 2004.
  70. ^abJonathan Grattage: QML ResearchArchived March 31, 2008, at theWayback Machine (website)
  71. ^T. Altenkirch, V. Belavkin, J. Grattage, A. Green, A. Sabry, J. K. Vizzotto,QML: A Functional Quantum Programming Language.Archived 2006-07-10 at theWayback Machine (website).
  72. ^Andre van Tonder (2004),"A Lambda Calculus for Quantum Computation", SIAM J. Comput., 33(5), pp. 1109–1135. Also available fromarXiv:quant-ph/0307150.
  73. ^Peter Selinger and Benoît Valiron (2006),"A lambda calculus for quantum computation with classical control", Mathematical Structures in Computer Science 16(3): 527–552.
  74. ^Pablo Arrighi, Gilles Dowek,"Linear-algebraic lambda-calculus: higher-order, encodings and confluence", 2006.
  75. ^"The Language Integrated Quantum Operations Simulator".github.io. RetrievedJuly 20, 2017.
  76. ^Quantum Architectures and Computation Group (QuArC),https://www.microsoft.com/en-us/research/group/quantum-architectures-and-computation-group-quarc/, 2011
  77. ^"StationQ".microsoft.com. RetrievedJuly 20, 2017.
  78. ^"Language-Integrated Quantum Operations: LIQUi|>".Microsoft. 2016.
  79. ^"QML: A Functional Quantum Programming Language". September 26, 2007. Archived fromthe original on September 26, 2007.
  80. ^Jonathan Grattage,QML: A Functional Quantum Programming Language (compiler)Archived 2016-03-05 at theWayback Machine, 2005–2008
  81. ^Philip Maymin,"Extending the Lambda Calculus to Express Randomized and Quantumized Algorithms", 1996
  82. ^van Tonder, André."A lambda calculus for quantum computation (website)". Archived fromthe original on March 5, 2016. RetrievedOctober 2, 2007.
  83. ^Peter Selinger, Benoˆıt Valiron,"Quantum Lambda Calculus".
  84. ^"The Quipper Language".
  85. ^Green, Alexander S.; Lumsdaine, Peter LeFanu; Ross, Neil J.; Selinger, Peter; Valiron, Benoît."The Quipper Language (website)".
  86. ^Alexander S. Green; Peter LeFanu Lumsdaine; Neil J. Ross; Peter Selinger; Benoît Valiron (2013). "An Introduction to Quantum Programming in Quipper".Reversible Computation. Lecture Notes in Computer Science. Vol. 7948. pp. 110–124.arXiv:1304.5485.doi:10.1007/978-3-642-38986-3_10.ISBN 978-3-642-38985-6.S2CID 9135905.

Further reading

[edit]

External links

[edit]
General
Theorems
Quantum
communication
Quantum cryptography
Quantum algorithms
Quantum
complexity theory
Quantum
processor benchmarks
Quantum
computing models
Quantum
error correction
Physical
implementations
Quantum optics
Ultracold atoms
Spin-based
Superconducting
Quantum
programming
Fields
Quantum
Other
Imperative
Structured
Object-oriented
(comparison,list)
Declarative
Functional
(comparison)
Dataflow
Logic
Domain-
specific
language

(DSL)
Concurrent,
distributed,
parallel
Metaprogramming
Separation
of concerns
Retrieved from "https://en.wikipedia.org/w/index.php?title=Quantum_programming&oldid=1317908007"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp