PennyLane-Qiskit Plugin
The PennyLane-Qiskit plugin integrates the Qiskit quantum computing framework with PennyLane's quantum machine learning capabilities.
PennyLane is a cross-platform Python library for quantum machine learning, automatic differentiation, and optimization of hybrid quantum-classical computations.
Qiskit is an open-source framework for quantum computing.
Features
- Provides three devices to be used with PennyLane:
qiskit.aer
,qiskit.basicaer
andqiskit.ibmq
. These devices provide access to the various backends, including the IBM hardware accessible through the cloud. - Supports a wide range of PennyLane operations and expectation values across the providers.
- Combine Qiskit's high performance simulator and hardware backend support with PennyLane's automatic differentiation and optimization.
Installation
This plugin requires Python version 3.8 and above, as well as PennyLane and Qiskit.
Installation of this plugin, as well as all dependencies, can be done using pip
:
pip install pennylane-qiskit
To test that the PennyLane-Qiskit plugin is working correctly you can run
make test
in the source folder. Tests restricted to a specific provider can be run by executing
make test-basicaer
, make test-aer
, and make test-ibmq
.
Note
Tests on the IBMQ device can
only be run if a ibmqx_token
for the
IBM Q experience is
configured in the PennyLane configuration file, if the token is
exported in your environment under the name IBMQX_TOKEN
, or if you have previously saved your
account credentials using the
new IBMProvider
If this is the case, running make test
also executes tests on the ibmq
device.
By default tests on the ibmq
device run with ibmq_qasm_simulator
backend
and those done by the basicaer
and aer
device are run with the qasm_simulator
backend. At the time of writing this means that the test are "free".
Please verify that this is also the case for your account.
Please refer to the plugin documentation as well as to the PennyLane documentation for further reference.
Contributing
We welcome contributions - simply fork the repository of this plugin, and then make a pull request containing your contribution. All contributers to this plugin will be listed as authors on the releases.
We also encourage bug reports, suggestions for new features and enhancements, and even links to cool projects or applications built on PennyLane.
Authors
PennyLane-Qiskit is the work of many contributors.
If you are doing research using PennyLane and PennyLane-Qiskit, please cite our paper:
Ville Bergholm, Josh Izaac, Maria Schuld, Christian Gogolin, M. Sohaib Alam, Shahnawaz Ahmed, Juan Miguel Arrazola, Carsten Blank, Alain Delgado, Soran Jahangiri, Keri McKiernan, Johannes Jakob Meyer, Zeyue Niu, Antal Szรกva, and Nathan Killoran. PennyLane: Automatic differentiation of hybrid quantum-classical computations. 2018. arXiv:1811.04968
Support
- Source Code: https://github.com/PennyLaneAI/pennylane-qiskit
- Issue Tracker: https://github.com/PennyLaneAI/pennylane-qiskit/issues
- PennyLane Forum: https://discuss.pennylane.ai
If you are having issues, please let us know by posting the issue on our Github issue tracker, or by asking a question in the forum.
License
The PennyLane qiskit plugin is free and open source, released under the Apache License, Version 2.0.