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 support@rigetti.com .
Future versions will include additional features, utilities, and examples, so do check for updates regularly.
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 support@rigetti.com .
Future versions will include additional features, utilities, and examples, so do check for updates regularly.