Entropica releases QAOA package for Rigetti’s Quantum Cloud Service
Optimising with near-term quantum computers
Today we are pleased to announce the public release of EntropicaQAOA, a free and open source software package implementing the quantum approximate optimisation algorithm (QAOA).
QAOA is an algorithm designed for near-term quantum computers, and has applications to both machine learning and discrete optimisation. The EntropicaQAOA package integrates fully with our partner Rigetti’s Quantum Cloud Services™ (QCS).
Quantum computing in the near-term
Quantum processors are steadily becoming more powerful, and applications to both scientific research and real-world enterprise problems are now being actively pursued.
Three weeks ago, a post on NASA’s website — which was quickly removed — reported that Google has achieved “quantum supremacy”. If confirmed, for the first time they will have performed a calculation on a quantum computer that would be intractable for even the most powerful classical supercomputers.
While practical use cases for the particular problem purportedly solved by Google may be limited (see here for one proposal), this milestone in the history of computing will surely reinforce the search for enterprise applications of quantum technologies.
The first generation of commercial quantum computers will be limited to a modest number of qubits. In addition, noise present in the devices will restrict the complexity of the computations that can be performed with them.
Nevertheless, a family of algorithms known as variational hybrid algorithms have been designed specifically for this so-called “NISQ” (i.e. near-term) era of quantum computing. These algorithms make use of both quantum and classical hardware, with each compensating for the other’s weaknesses. The QAOA belongs to this algorithmic family.
The EntropicaQAOA package
The basic goal of QAOA is to find a set of parameters that, when fed to specific operations in a quantum circuit, output the desired solution to the problem. Naturally, the relations that you choose to enforce between the parameters, as well as their initial values, can make a significant difference to the performance of the algorithm. The classical optimiser that provides updated parameters at each step also has an important impact on the efficacy of the algorithm.
In EntropicaQAOA, we provide multiple options for parametrising QAOA, facilitating prototyping and testing of different approaches.
Several different ways of initialising parameters are included, and it is very easy to switch from one classical optimiser to another. If Scipy’s methods are inadequate, you can easily import tools from other optimisation libraries such as NLopt, scikit-optimize, or use your own custom-built code.
We also provide a range of utility functions allowing easy integration with, and problem translation from, popular data analysis packages such as Pandas and NetworkX.
Getting started with EntropicaQAOA
We invite researchers, students, enterprise users, and interested individuals to explore EntropicaQAOA for their own applications, and in their workflows.
Installation instructions can be found in the documentation, together with full details of the package functionalities, and tutorials on the QAOA algorithm itself. EntropicaQAOA provides full native support for Rigetti’s QVM and QPUs. For access to Rigetti QPUs through QCS please sign up online, at https://qcs.rigetti.com/, or reach out to email@example.com.
Future versions will include additional features, utilities, and examples, so do check for updates regularly.
We are always interested to hear about projects built with EntropicaQAOA. If you have an application you’d like to tell us about, drop us an email at firstname.lastname@example.org. You can also open issues and send us pull requests on our GitHub page.
About Entropica Labs
Entropica Labs is a Singapore-based team of physicists and computer scientists developing tools and applications for near-term quantum computing. To learn more about us, visit www.entropicalabs.com, or contact us at email@example.com.
We are currently hiring for technical and scientific roles at all levels. Apply at firstname.lastname@example.org if you are interested in being part of the next computing revolution!