Qrisp is a high-level programming language for working with quantum computers. Qrisp is designed to enable programmers to write complex quantum algorithms with the ease of a modern day programming language, while still compiling down to the circuit level. By automating much of the low-level coding duties, such as gate-by-gate assembly or qubit management, we aim to open this field of research to a broad audience of developers. Qrisp was originally developed at Fraunhofer FOKUS funded by the German ministry for economic affairs and climate action.
The state of the art in programming a quantum computer pretty much resembles programming in assembler – even worse, while assembler provides at least some basic commands more abstract than the actual hardware gates, in quantum computing using gates and qubits only, is the standard. Frameworks like Qiskit or Cirq allow the user to create sub-circuits which can be reused in larger, more complex circuits. However, the handling of the circuits is still rather cumbersome.
Qrisp aims to tackle this challenge by trying to hide the qubit and gate structure of the underlying circuits as much as possible. This is achieved by conceptually replacing gates and qubits by functions and variables. This permits the creation of much more complex circuits than would ever be possible with handling gates and qubits directly. Of course, moving to variables and functions does not end programming with gates and qubits. The elementary quantum functions still need their implementation - under the hood - compiled using gates and qubits. This is why Qrisp comes with its own circuit creation module, which has most of the relevant features known from the established circuit creation frameworks.
Variables and functions not only simplify the management of highly complex circuits – due to the structure of an actual programming language many circuits can be created in a highly modular manner. This improves the possibility to easily maintain or upgrade certain parts of the code.
Apart from allowing highly complex circuit creation, Qrisp can also serve a pedagogical aspect, opening up this realm to non-physicists. This is because in Qrisp many quantum functions and control structures are already pre-programmed and therefore do not require the understanding of complex linear algebra that is needed when comprehending gate sequences.
The content of this open source project is received and distributed under the license(s) listed above. Some source code and binaries may be distributed under different terms. Specific license information is provided in file headers and in NOTICE files distributed with the project's binaries.