Jbl Quantum Program

0 views
Skip to first unread message

Ernest Babin

unread,
Aug 3, 2024, 1:20:07 PM8/3/24
to trunkomewild

Quantum programming is the process of designing or 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 computer or a quantum processor.

With quantum processor based systems, quantum programming languages help express quantum algorithms using high-level constructs.[1] The field is deeply rooted in the open-source philosophy and as a result most of the quantum software discussed in this article is freely available as open-source software.[2]

Quantum computers, such as those based on the KLM protocol, a linear optical quantum computing (LOQC) model, use quantum algorithms (circuits) implemented with electronics, integrated circuits, instrumentation, sensors, and/or by other physical means.[not verified in body]

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 or superconducting qubits.

cQASM,[3] 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 at TUDelft.

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 in A Practical Quantum Instruction Set Architecture.[4] Many quantum algorithms (including quantum teleportation, quantum error correction, simulation,[5][6] and optimization algorithms[7]) require a shared memory architecture.

Blackbird[9][10] is a quantum instruction set and intermediate representation used by Xanadu Quantum Technologies and Strawberry Fields. It is designed to represent continuous-variable quantum programs that can run on photonic quantum hardware.

Quantum software development kits provide collections of tools to create and manipulate quantum programs.[11] They also provide the means to simulate the quantum programs or prepare them to be run using cloud-based quantum devices and self-hosted quantum devices.

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

An open 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]

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

Qrisp[15] is an open source project coordinated by the Eclipse Foundation[16] and developed in Python programming by Fraunhofer FOKUS[17]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.

An open source project developed by IBM.[18] 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.[19] Qiskit is based on the OpenQASM standard for representing quantum circuits. It also supports pulse level control of quantum systems via QiskitPulse standard.[20]

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

An open source project developed by Rigetti, which uses the Python 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.[25] Forest is based on the Quil instruction set.

An open-source Python library developed by Xanadu Quantum Technologies for designing, simulating, and optimizing continuous variable (CV) quantum optical circuits.[27][28] Three simulators are provided - one in the Fock basis, one using the Gaussian formulation of quantum optics,[29] and one using the TensorFlow machine learning library. Strawberry Fields is also the library for executing programs on Xanadu's quantum photonic hardware.[30][31]

An open-source Python library developed by Xanadu Quantum Technologies for differentiable programming of quantum computers.[32][33][34][35] PennyLane provides users the ability to create models using TensorFlow, NumPy, or PyTorch, and connect them with quantum computer backends available from IBMQ, Google Quantum, Rigetti, Quantinuum[36] and Alpine Quantum Technologies.[37][38]

A project developed by Microsoft[39] as part of the .NET Framework. Quantum programs can be written and run within Visual Studio and VSCode using the quantum programming language Q#. Programs developed in the QDK can be run on Microsoft's Azure Quantum,[40] and run on quantum computers from Quantinuum,[36] IonQ, and Pasqal.[41]

An open source project developed by Google, which uses the Python programming language to create and manipulate quantum circuits. Programs written in Cirq can be run on IonQ, Pasqal,[41] Rigetti, and Alpine Quantum Technologies.[37]

Ket[45] 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,[46] seamlessly integrating with a Rust runtime 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 a Bell state using Ket:

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

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

QSI> is a platform embedded in .Net language supporting quantum programming in a quantum extension of while-language.[44][49] This platform includes a compiler of the quantum while-language[50] and a chain of tools for the simulation of quantum computation, optimisation of quantum circuits, termination analysis of quantum programs,[51] and verification of quantum programs.[52][53]

Q Language is the second implemented imperative quantum programming language.[54] Q Language was implemented as an extension of C++ 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.

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

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.[60][61]

Efforts are underway to develop functional programming languages for quantum computing. Functional programming languages are well-suited for reasoning about programs. Examples include Selinger's QPL,[62] and the Haskell-like language QML by Altenkirch and Grattage.[63][64] Higher-order quantum programming languages, based on lambda calculus, have been proposed by van Tonder,[65] Selinger and Valiron[66] and by Arrighi and Dowek.[67]

c80f0f1006
Reply all
Reply to author
Forward
0 new messages