Qrisp 0.7#
Qrisp 0.7 is here, marking another significant milestone in the evolution of our high-level quantum programming framework. This release continues Qrisp’s mission to make quantum algorithm development more intuitive, efficient, and accessible for researchers and developers alike. While previous updates often focused on a unified theme, Qrisp 0.7 brings a diverse collection of features and improvements, reflecting the rapidly expanding landscape of quantum computing.
With this version, users will find not only innovative new primitives and protocols, but also substantial enhancements to existing workflows and resource management. The integration of advanced compilation techniques, dynamic algorithmic components, and expanded compatibility with the Jasp submodule further solidifies Qrisp’s position as a leading platform for scalable quantum software development. Whether you are exploring cutting-edge quantum algorithms or optimizing large-scale simulations, Qrisp 0.7 delivers the tools and performance to push your projects forward.
Linear Combination Of Unitaries#
LCU was initially conceived for improving the precision of Hamiltonian simulations but since then has become a core tool for a diverse field of quantum algorithms including QSP, QSVT, LCHS, and optimization via dynamical simulation. Qrisp 0.7 makes all of the above possible: i.e. LCHS (Linear Combination of Hamiltonian Simulation) utilizing the operators module and our Trotterization
for passing the Hamiltonian simulation unitary through the LCU protocol.
The Linear Combination of Unitaries technique relies on a non-unitary feedback loop to add up the unitaries of several user-specified quantum functions. Within the quantum software landscape the importance of LCU has been recognized within some artifacts implementing the “loop body” but to the best of our knowledge no framework implements the means for compiling the whole workflow down to a low-level representation. This changes with Qrisp 0.7.
Using our new Linear Combination of Unitaries (LCU) primitive it is possible to perform a streamlined and efficient implementation of the workflow using an arbitrary set of user-specified functions.
Dynamic Quantum Switch#
The quantum switch is a core component of the LCU protocol and as such is now compatible with Jasp. It is furthermore now possible to specify case functions dynamically, ensuring the scalability of every component involved. Finally an additional compilation technique based on a binary tree has been implemented to ensure state of the art compilation performance.
Dynamic QAOA/VQE and gradient free dynamic optimization#
QAOA and VQE are among the most popular hybrid algorithms. The established way of running these is to set up a feedback loop that alternates between a quantum computer and a Python instance performing the classical optimization. While suitable for prototypical implementations, this architecture brings a considerable overhead because (a) entering and running the Python interpreter is slow and (b) using IP networks for connectivity introduces extra latency. For this reason we made the algorithms compatible with Jasp, implying the whole workflow is now compiled into one big QIR expression. Read more about this here. We also added JASP-compatability for the gradient-free COBYLA Optimizer. It will now be the Default Option for the jasp.minimize optimization Routine.

Iterative Quantum Phase Estimation#
Iterative Quantum Phase Estimation is a technique that extends the idea of regular QPE to the dynamic context. By introducing real-time features the eigenvalues of a unitary \(U\) can be estimated to \(n\) digits of precision using only a single extra ancilla qubit (instead of \(n\)).
Resource estimation#
Estimating the resources of large scale quantum algorithms has become an important field of research, as it provides concrete indicators, which purposes future quantum computers might be suitable for. A variety of frameworks exists for tackling this problem - in many cases however the framework can either (a) not compile/simulate the full algorithm, which makes it hard to verify correctness or (b) can only estimate the resources at limited scale. With Jasp we can now do both! The count_ops decorator uses the tight embedding into classically established compilation infrastructure to compile a binary program that computes the required resources. This allows us to probe algorithms at 1000000000 gates/s! By switching out the decorator to Jaspify, we can simulate the exact same code without any changes on a smaller scale.
Other Jaspified features#
The following features are now compatible with Jasp:
QubitOperator and FermionicOperator expectation value evaluation.
MCX implementation by Khattar et. al based on conditionally free ancillae.
New Tutorials#
Next to a major visual revamp of the Tutorials page, the following tutorials have been added.
Solving linear system problems with HHL, explaining how to implement the HHL algorithm using Jasp.
Building a QAOA implementation in Jasp, explaining how to create your own Jasp implementation of QAOA from scratch.
UI Changes#
QubitOperator.get_measurement
is replaced byQubitOperator.expectation_value
and will be removed in a future release of Qrisp.