Plugins and ecosystem
PennyLane is designed from the ground up to be hardware and device agnostic, allowing quantum functions to be easily dispatched to different quantum devices. A single computation can even include multiple quantum devices from different vendors.
Build your quantum algorithm once. Run it everywhere.
Built in devices
PennyLane comes with built-in support for two simple quantum devices:
A simple wavefunction qubit simulator written in Python. Supports all PennyLane core qubit operations.
A simple Gaussian simulator written in Python. Supports all PennyLane core non-Gaussian CV operations.
External quantum devices can be easily added to PennyLane by installing plugins. These plugins are installed separately, providing a rich ecosystem integrating popular quantum software development libraries with the hybrid optimization capabilities of PennyLane.
Qiskit is an open-source quantum software framework designed by IBM. Supported hardware backends include the IBM Quantum Experience.
Cirq is a Python library designed by Google for writing, manipulating, and optimizing quantum circuits and running them against quantum computers and simulators.
pyQuil and the Forest SDK are an open-source quantum software framework designed by Rigetti. Supported hardware backends include the Rigetti Aspen QPU.
Microsoft QDK is a library for quantum programming using the .NET Q# quantum programming language. Provides access to the QDK full state simulator to be used with PennyLane.
Strawberry Fields is a Python library for simulating continuous variable quantum optical circuits. Combines Strawberry Fields' polished universal simulator suite with PennyLane's automatic differentiation and optimization.
ProjectQ is an open-source quantum compilation framework.
For an introductory tutorial on using plugin devices in PennyLane, see Plugins and Hybrid computation. For more details on any of the external plugins, including the devices they provide, device-specific options, and supported quantum operations and expectation values, please see the plugin documentation.
Developing a plugin
To write your own PennyLane-compatible plugin, the best place to start is our overview of the developer API, as well as exploring the source code of the provided reference plugin modules
A template repository,
XanaduAI/pennylane-plugin-template, is also available, containing the essential boilerplate alongside common integration tests.