{{Infobox software | title = Qrisp | logo = Qrisp logo.png | logo size = 200px | developer = Fraunhofer FOKUS, IQM, TU Berlin, RheinMain University of Applied Sciences | latest release version = 0.8 | latest release date = {{Start date and age|2026|02|20}} | repo = {{URL|https://github.com/eclipse-qrisp/Qrisp}} | programming language = Python | genre = SDK for Quantum Computing | license = Eclipse Public License 2.0 | website = {{URL|https://qrisp.eu/}} }}
{{Portal|Free and open-source software}} '''Eclipse Qrisp''' (also referred to as '''Qrisp''') is an open-source high-level quantum programming framework designed to simplify the implementation and development of quantum algorithms.<ref name=":0">{{Cite web |title=Eclipse Qrisp Documentation |url=https://www.qrisp.eu/ |access-date=2025-12-03 |website=www.qrisp.eu |language=en}}</ref><ref name=":3">{{cite arXiv |last1=Seidel |first1=Raphael |title=Qrisp: A Framework for Compilable High-Level Programming of Gate-Based Quantum Computers |date=2024-06-20 |eprint=2406.14792 |last2=Bock |first2=Sebastian |last3=Zander |first3=René |last4=Petrič |first4=Matic |last5=Steinmann |first5=Niklas |last6=Tcholtchev |first6=Nikolay |last7=Hauswirth |first7=Manfred |class=quant-ph }}</ref><ref>{{Cite web |last=online |first=heise |date=2023-05-20 |title=Qrisp: Quantencomputer mit neuem Open-Source-Framework programmieren |url=https://www.heise.de/news/Qrisp-Quantencomputer-mit-neuem-Open-Source-Framework-programmieren-9060649.html |access-date=2025-12-20 |website=Developer |language=de}}</ref> Initially developed by Fraunhofer FOKUS (Quality Engineering unit, Berlin),<ref name=":2">{{Cite web |date=2023-11-26 |title=NEWS Qrisp programming framework available as Eclipse technology - Fraunhofer FOKUS |url=https://www.fokus.fraunhofer.de/en/sqc/news/qrisp_eclipse_23-11.html |access-date=2025-12-03 |website=Fraunhofer Institute for Open Communication Systems |language=en}}</ref><ref>{{Cite news |title=Palo Alto in Dahlem?: Berlin auf dem Weg zur Quantenmetropole |url=https://www.tagesspiegel.de/themenspeziale/bildungundforschung/palo-alto-in-dahlem-berlin-auf-dem-weg-zur-quantenmetropole-13800820.html |access-date=2025-12-21 |work=Der Tagesspiegel Online |language=de-DE |issn=1865-2263}}</ref> Qrisp enables programmers to write complex quantum circuits using familiar constructs (variables, loops, etc.) while automating low-level tasks like gate assembly and qubit management. Its design shifts the emphasis from hardware-specific gate manipulation to modern software paradigms, making quantum code more accessible to classical developers.<ref name=":3"/> The framework is written in Python and integrates with standard scientific libraries (e.g. NumPy, NetworkX, TensorFlow).
Qrisp is released as open-source software under an Eclipse Foundation project,<ref name=":Eclipse Page">{{Cite web |date=2023-11-26 |title=Eclipse Qrisp Project |url=https://projects.eclipse.org/projects/technology.qrisp |access-date=2025-12-03 |website=Eclipse Foundation |language=en}}</ref> and was publicly funded by the German Federal Ministry for Economic Affairs and Climate Action for its initial development.
== High-level quantum programming == A simple Qrisp example for the multiplication of two floating point numbers is given below. One can observe the creation of two 3-Qubit floating point numbers, which are consequently assigned the values 3 and 4. Afterwards an overloaded operator is used to realize the multiplication, before eventually the printing of the result leads to a measurement on the QPU (or the simulator) leading to the outcome of 12 with a probability of 1.0.
<syntaxhighlight lang="python"> from qrisp import QuantumFloat
# Create Variables of type QuantumFloat n = 3 a = QuantumFloat(n) b = QuantumFloat(n)
# Assign Values a[:] = 3 b[:] = 4
# Perform operations with QuantumVariables res = a * b
# Simulate quantum program print(res) </syntaxhighlight>
Qrisp's core objectives are to bridge the gap between classical software engineering practices and quantum hardware requirements.<ref name=":3" /> The project aims to offer '''high-level abstractions''' so that developers can express quantum algorithms in familiar terms (data types, functions, control flow) without managing individual qubits and gates.<ref name=":3" /><ref name=":1">{{Cite web |title=Technologie Qrisp - Fraunhofer FOKUS |url=https://www.fokus.fraunhofer.de/en/sqc/technologies/qrisp.html |access-date=2025-12-11 |website=Fraunhofer Institute for Open Communication Systems |language=en}}</ref> According to the original Qrisp paper, the design goals include providing “a programming interface which seamlessly connects multiple layers of abstraction” and enabling “hardware-specific compilation of hardware-agnostic code”.<ref name=":3" /> In practice, this means Qrisp should let a programmer write code that can be compiled efficiently for different quantum backends, while also serving as an educational tool for understanding quantum computation from first principles.<ref name=":3" /> By automating bookkeeping (such as uncomputing temporary results) and by offering a resource manager for qubits, Qrisp seeks to reduce bugs and improve maintainability of quantum software.<ref name=":3" /><ref name=":1" />
Qrisp introduces several key technical features and abstractions to support high-level quantum programming:
* '''Quantum Variables:''' The core abstraction is the '''QuantumVariable'''. Each QuantumVariable represents a quantum state (e.g. a register of qubits) and hides the details of qubit allocation and management from the user.<ref name=":1" /> Specialized subclasses (built-in types) include ''QuantumFloat.'' * ''QuantumModulus'', ''QuantumBool'', ''QuantumChar'', and ''QuantumString'', which support arithmetic and other operations in quantum circuits.<ref name=":1" /> * '''Sessions and Uncomputation:''' Each QuantumVariable is managed by a '''QuantumSession''' that tracks its lifecycle. When temporary quantum variables are no longer needed, Qrisp automatically “uncomputes” them to disentangle and free their qubits. This automatic uncomputation (e.g. via an @auto_uncompute decorator) ensures efficient reuse of qubits without manual intervention. * '''Quantum Data Structures:''' Qrisp supports compound data structures: ''QuantumArray'' allows multiple quantum variables of the same type to be treated like a NumPy array (with slicing, reshaping, etc.).<ref name=":1" /> ''QuantumDictionary'' enables using quantum variables as keys, integrating classical-like data relationships into quantum algorithms. * '''Circuit Construction:''' A '''Circuit Construction''' module lets users build custom circuits. Qrisp's interfaces mirror common frameworks (e.g. similar to Qiskit) for operations like Hadamard and CNOT gates, controlled operations, and modular arithmetic.<ref name=":1" /> For example, Qrisp provides built-in functions for the Quantum Fourier Transform (QFT) and other multi-qubit operations, facilitating algorithms like Shor's algorithm.<ref name=":6">{{Citation |title=eclipse-qrisp/Qrisp |date=2025-12-03 |url=https://github.com/eclipse-qrisp/Qrisp |access-date=2025-12-03 |publisher=Eclipse Qrisp project}}</ref> * '''Control Flow and Environments:''' Qrisp implements classical control flow (conditionals, loops) using “quantum environments.” Conditional execution of code blocks can be specified similarly to classical programs, and Qrisp handles the necessary conditional quantum operations behind the scenes.<ref name=":1" /> * '''Simulator:''' The framework includes a high-performance statevector simulator using sparse matrix techniques. This simulator can run circuits on the order of 100 qubits, allowing developers to test algorithms offline.<ref name=":0" /> * '''Hardware Compatibility:''' Qrisp compiles high-level code into quantum circuits in QASM format. These circuits can be executed on any QASM-capable backend. In particular, Qrisp provides integration with hardware providers such as IBM, IQM, AQT, and others.<ref name=":2" /><ref name=":1" /> The seamless embedding in Python means Qrisp code can be combined with other scientific tools, and arbitrary classical pre- or post-processing via Python libraries.
== Algorithms and applications == Qrisp is intended for '''quantum algorithm development and research''', and has been demonstrated on a variety of quantum computing tasks:
* '''Quantum Search (Grover's Algorithm):''' Qrisp offers constructs for building Grover oracles and diffusion operators. Its high-level interface allows encoding search problems succinctly. * '''Factoring (Shor's Algorithm):''' Using Qrisp's arithmetic types and loop constructs, users have implemented Shor's factoring algorithm. Qrisp's model allows the quantum part of Shor's algorithm to be expressed in only a few lines of code, yielding circuits with significantly reduced resources compared to traditional implementations.<ref name=":6" /> * '''Optimization:''' Fraunhofer researchers demonstrated solving instances of the Traveling Salesman Problem using Qrisp. By leveraging quantum data structures (arrays, variables) and Qrisp's resource management, they achieved better qubit-scaling than known solutions, with the implementation requiring fewer than 100 lines of code. * '''Quantum Simulation and Chemistry:''' The library's support for complex arithmetic and controlled operations makes it suitable for simulation tasks such as quantum chemistry (molecule Hamiltonians) and other linear-algebra problems. For example, built-in QFT operations and modular arithmetic types can be used to simulate quantum systems and compute molecular spectra (building on approaches like HHL). * '''Machine Learning (potential):''' While not yet fully demonstrated, Qrisp's integration with classical libraries suggests it could be used for quantum machine learning research, where quantum circuits interface with tensor libraries.
In general, Qrisp is positioned as a tool for scaling quantum computing programming for industry and academia: it has been used to benchmark quantum algorithms and to teach quantum programming concepts. Its abstraction level makes it useful for exploring new algorithmic ideas without dealing directly with hardware details.<ref name=":3" />
== Collaborators and community == Qrisp development was initiated by '''Fraunhofer FOKUS''' in Berlin. The project was publicly funded by the Federal Ministry for Economic Affairs and Climate Action and the European Union.<ref name=":0" />
Qrisp is managed as an Eclipse Foundation project.<ref name=":0" /><ref name=":2" /> The Eclipse community supports its open governance model. Several quantum computing companies have been involved in the Qrisp's developments: for example, the framework's remote execution interface has been tested with hardware from eleQtron, IQM, Alpine Quantum Technologies (AQT), and IBM.<ref name=":1" /> The German Aerospace Center and other institutions have also supported the project, as indicated by Qrisp's collaborators and logos.<ref name=":0" />
A notable initiative is the '''Thinq Qrisp Community''' (launched Sep 2024), which brings together industry and academia to work on Qrisp and related quantum software engineering ideas.<ref name=":1" /> This community offers resources, training events, and networking opportunities to promote the use and development of Qrisp. Qrisp's source code and documentation remain publicly accessible (e.g. via GitHub and PyPI) to support broad collaboration.<ref name=":2" />
=== Industrial Interest === In '''July 2025''', IQM announced that Qrisp will become the '''default SDK''' on the IQM Resonance platform.<ref name=":7">{{Cite web |title=IQM announces major upgrade to Resonance quantum cloud platform with new software development kit - IQM Quantum Computers |url=https://meetiqm.com/press-releases/iqm-announces-major-upgrade-to-resonance-quantum-cloud-platform-with-new-software-development-kit/ |access-date=2025-12-03 |language=en-US}}</ref> IQM explicitly said that Qrisp will be supported as the default interface for quantum developers and researchers — though other popular quantum frameworks (like Qiskit, Cirq, Cuda Quantum, and TKET) will remain supported for flexibility.<ref name=":7" />
== References == <references />
== External links == * {{Official website|https://qrisp.eu/}} * {{GitHub|eclipse-qrisp/Qrisp}}
Category:Free software programmed in Python Category:Software using the Eclipse Public License