Quantum Informed Recursive Optimization#

An algorithm to facilitate the functionality of Quantum Informed Recursive Optimizations, as developed by J. Finzgar et. al. in Quantum-Informed Recursive Optimization Algorithms (2023) .

It 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.


The QIROProblem encapsulates the required prerequesites to run the algorithm:

  • The problem to be solved, which is not necessarly a graph,

  • the replacement_routine, which has the job of performing the aforementioned specific reductions to the problem object,

  • The cost_operator, mixer, init_function and cl_cost_function in analogy to QAOAProblem instanciation.

Collection of mixers and suplementary material#

Qrisp comes with a variety of predefined mixers to tackle various types of problem instances:

qiro_RXMixer([solutions, exclusions])

RX-Mixer for QIRO algorithm.

qiro_init_function([solutions, exclusions])

State initiation function for QIRO algorithm.

find_max(single_cor, double_cor, res, solutions)

General subroutine for finding the values with maximal correlation in the QIRO algorithm

QIRO implementations of problem instances#

For implemented problem instances see the QIRO implementations page