Built in Python, the library provides a full-stack interface for running a variety of different Quantum Approximate Optimization Algorithm (QAOA) flavors – from problem definition to hardware execution. Whether you’re a researcher, developer, or just curious about quantum computing, this library is designed to support you every step of the way.
QAOA is a powerful algorithm for tackling combinatorial optimization problems. Its versatility makes it a key candidate for early quantum advantage. Our goal with this library is to democratize access to QAOA, making it easier to experiment, prototype, and run on real hardware while being able to quickly switch between different variants.
QAOA is commonly used for solving Quadratic Unconstrained Binary Optimization (QUBO) problems, where the objective is to minimize a cost function:
To make this easier, our library provides multiple ways to define QUBO problems:
Advanced users can also extend the base classes to define their own custom problems.
QAOA is a variational algorithm. It has a single hyperparameter p (the number of layers), and each layer comes with two real-valued parameters that need to be optimized.
The standard training method involves sampling from a quantum circuit and minimizing the energy retrieved from the measurements – although this can run into issues like barren plateaus. To address this, the library includes advanced training strategies:
QAOA circuits have a structure that allows highly specialized transpilation. Each layer contains a block of commuting gates, which allows for an efficient mapping to the hardware.
Therefore, the library includes several transpilers you can experiment with:
Once you’ve defined a problem and trained your QAOA parameters, you’re ready to run it:
We’re just getting started. Here’s a glimpse of what’s coming soon to the IQM QAOA Library:
Join us on this journey to make quantum optimization accessible, powerful, and practical. Explore the code, contribute, and let us know what you want to build with it!
Jiri Guth Jarkovsky is a quantum application engineer at IQM Quantum Computers, specializing in quantum and classical optimization algorithms. Coming from a quantum information theory background, he loves diving deep into the mathematical complexities of the hardest optimization problems and laying those complexities out in clear, efficient code.
Join the adventure! Stay informed with the latest news, product updates, and exciting announcements as we explore the future of quantum computing together.
© IQM Quantum Computers . All rights reserved
Search faster—hit Enter instead of clicking.