openqaoa
openqaoa copied to clipboard
Integrate the TensorFlow Quantum optimisation tools with OpenQAOA
Issue Description
Can we add some of TensorFlow Quantum's optimisation tools to the OpenQAOA stack? TensorFlow Quantum is a python framework for quantum machine learning, therefore related to QAOA. It focuses on building hybrid quantum-classical models and provide tools to interleave quantum algorithms and circuit designed in Cirq with TensorFlow.
TensorFlow Quantum provides the following operations:
- Sample from output distributions of batches of circuits, see
tfq.layers.PQC
andtfq.layers.Sample
. - Calculate expectation value of batches of Pauli sums on batches of circuits, see
tfq.layers.Expectation
. - Simulate batches of circuit and states, see
tfq.layers.State
.
Note: This most likely requires integration with Cirq too, for more details see #306 .
Changes to be made
In the same way we implemented different backends (physical QPU or simulators), implement a plugin package openqaoa-tfq
that allows usage of TensorFlow Quantum optinmisation and simulation tools. More specifically, changes include:
- Creation of a new plugin
openqaoa-tfq
including all necessary components (e.g.setup.py
,pyproject.toml
, etc...). - Creation of a
openqaoa-tfq/backend
equivalent, bridging the stack's internal representation to one compatible with TensorFlow Quantum SDK. - Creation of unit tests to make sure all features are correctly supported.
Hey Iam Interested to do this
Sure @Vikrant-Khedkar , please go ahead!
Okay I will go ahead and setup first