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.
PennyLane comes with built-in support for several quantum devices:
A simple state-vector qubit simulator written in Python, with Autograd, JAX, TensorFlow, and Torch backends.
A good choice for optimizations with a moderate number of qubits and parameters with exact expectation values.
A mixed-state qubit simulator written in Python, with Autograd, JAX, TensorFlow, and Torch backends.
A good choice for simulating noisy circuits and quantum channels.
A simple quantum photonic simulator written in Python.
A good choice for optimizing photonic systems.
A fast state-vector qubit simulator written with a C++ backend.
A good choice for optimizations with a moderate number of qubits and parameters, or when using stochastic expectation values.
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.
Below are a list of official PennyLane plugins supported by the PennyLane development team.
Qiskit is an open-source quantum software framework designed by IBM. Supported hardware backends include the IBM Quantum Experience.
Amazon Braket is a fully managed AWS service that helps researchers, scientists, and developers get started with quantum computing. Amazon Braket provides on-demand access to managed, high-performance quantum circuit simulators, as well as different types of quantum computing hardware.
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.
Cirq is a Python library designed by Google for writing, manipulating, and optimizing quantum circuits and running them against quantum computers and simulators.
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.
Qulacs is a high-performance quantum circuit simulator for simulating large, noisy or parametric quantum circuits. Implemented in C/C++ and with Python interface, Qulacs achieved both high speed circuit simulation and high usability.
Honeywell Quantum Solutions provides access to ion-trap quantum computing hardware over the cloud.
IonQ is a ion-trap quantum computing company offering access to quantum computing devices over the cloud.
Access to Alpine Quantum Technologies' ion-trap quantum computer over the cloud.
pyQuil and the Rigetti SDK are an open-source quantum software framework designed by Rigetti. Supported hardware backends include the Rigetti Aspen QPU.
In addition to the offical plugins, there are also plugins created by the PennyLane community.
To write your own PennyLane-compatible plugin, the best place to start is our overview of the plugin API. Have a plugin you would like to have listed here? Let us know at firstname.lastname@example.org.