Skip to content

PennyLaneAI/pennylane-qiskit

Repository files navigation

PennyLane-Qiskit Plugin

GitHub Workflow Status (branch) Codecov coverage CodeFactor Grade Read the Docs PyPI PyPI - Python Version

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 and qiskit.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.9 and above, as well as PennyLane and Qiskit. Installation of this plugin, as well as all dependencies, can be done using pip:

pip install "qiskit<0.46"
pip install pennylane-qiskit

If you prefer to use Qiskit 1.0, you can omit the first line above and instead consult the Qiskit installation guide, which includes details on how to migrate to 1.0 if you already have Qiskit installed. Note that only conversion to PennyLane is supported with Qiskit 1.0; support for devices with 1.0 be available in a later release of the plugin.

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

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.