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:

default.qubit

A simple wavefunction qubit simulator written in Python. Supports all PennyLane core qubit operations.

default.gaussian

A simple Gaussian simulator written in Python. Supports all PennyLane core non-Gaussian CV operations.

Plugins

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.

Have a plugin you would like to have listed here?
Let us know at software@xanadu.ai

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 pennylane.plugins.default_qubit and pennylane.plugins.default_gaussian.

A template repository, XanaduAI/pennylane-plugin-template, is also available, containing the essential boilerplate alongside common integration tests.