Qrisp 0.5#
In this update many things revolve around one of the most original purposes of quantum computing: Simulating quantum mechanical systems.
The Operators module#
This module allows you to describe operators that are not necessarily unitary or even hermitian. With these tools at hand you can effectively set up two of quantum’s most important algorithms: Hamiltonian simulation and the Variational Quantum Eigensolver.
For this purpose, Qrisp provides the following classes:
QubitOperator is a class that enables the representation and processing of operators acting on a qubit space: \((\mathbb{C}^2)^{\otimes n}\). QubitOperators can be constructed based on a variety of tensor factors including the Pauli-matrices but also projector, creators and annihilators. For the latter Qrisp features a highly performant algorithm for Hamiltonian simulation proposed by Kornell and Selinger.
FermionicOperator provides you with the tools to describe and manipulate fermionic systems. This type of system is of particular importance for applications in chemistry because many computations for molecular dynamics involve the simulation of electrons, which are fermions. FermionicOperators can be constructed effortlessly from PySCF data. PySCF is one of the most popular quantum chemistry Python packages.
VQEProblem which allows you to quickly formulate and run the VQE algorithm using Hamiltonians expressed through the two operator classes.
Explore these features in the following examples and tutorials: Simulating the dynamics of the $H_2$ molecule computing the ground state energy of the Hydrogen molecule, determine the molecular potential energy curve of the Hydrogen molecule, simulate the Ising-modell with a disturbance.
QIRO#
The QIRO algorithm introduced by J. Finzgar et. al. in Quantum-Informed Recursive Optimization Algorithms (2023) has been implemented. The algorithm is based on updating the problem instance based on correlations, that are in turn established with a QAOA protocol. For further info have a look at our tutorial on QIRO! The central data structure of the QIRO module is the QIROProblem class.
Compiler upgrades#
A significantly faster algorithm for memory management has been implemented. With this feature, managing circuits with thousands of qubits is no problem.
The compiler can now also leverage X-Permeability type commutativity relations. More info here.
Algorithmic primitives#
A module for the efficient treatment of phase polynomials has been implemented.
Quantum switch-case can be used to execute a switch statement in superposition.
Implemented a Dicke state preparation algorithm.
Minor features#
It is now possible for backends to specify their own default shot count.
Deprecated the QuantumNetworks module.
Operations can now receive complex numbers as parameters.
QuantumModulus will now use the user-specified adder for all arithmetic evaluations (previously only in-place multiplication).
A tutorial for utilizing the Quantum-Backtracking algorithm for solving Sudokus is now available.