Skip to main content

Open source library for continuous-variable quantum computation

Project description

Travis Codecov coverage Codacy grade Read the Docs PyPI PyPI - Python Version

This PennyLane plugin allows the Strawberry Fields simulators to be used as PennyLane devices.

Strawberry Fields is a full-stack Python library for designing, simulating, and optimizing continuous variable (CV) quantum optical circuits.

PennyLane is a machine learning library for optimization and automatic differentiation of hybrid quantum-classical computations.


  • Provides two devices to be used with PennyLane: strawberryfields.fock and strawberryfields.gaussian. These provide access to the Strawberry Fields Fock and Gaussian backends respectively.
  • Supports all core PennyLane operations and observables across the two devices.
  • Combine Strawberry Fields optimized simulator suite with PennyLane’s automatic differentiation and optimization.


PennyLane-SF requires both PennyLane and Strawberry Fields. It can be installed via pip:

$ python -m pip install pennylane-sf

Getting started

Once the PennyLane-SF plugin is installed, the two provided Strawberry Fields devices can be accessed straight away in PennyLane.

You can instantiate these devices for PennyLane as follows:

import pennylane as qml
dev_fock = qml.device('strawberryfields.fock', wires=2, cutoff_dim=10)
dev_gaussian = qml.device('strawberryfields.gaussian', wires=2)

These devices can then be used just like other devices for the definition and evaluation of QNodes within PennyLane. For more details, see the plugin usage guide and refer to the PennyLane documentation.


We welcome contributions - simply fork the PennyLane-SF repository, and then make a pull request containing your contribution. All contributers to PennyLane-SF 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 and Strawberry Fields.


Josh Izaac, Ville Bergholm, Maria Schuld, Nathan Killoran and Christian Gogolin

If you are doing research using PennyLane and StrawberryFields, please cite our papers:

Ville Bergholm, Josh Izaac, Maria Schuld, Christian Gogolin, and Nathan Killoran. PennyLane: Automatic differentiation of hybrid quantum-classical computations. 2018. arXiv:1811.04968

Nathan Killoran, Josh Izaac, Nicolás Quesada, Ville Bergholm, Matthew Amy, and Christian Weedbrook. Strawberry Fields: A Software Platform for Photonic Quantum Computing. 2018. arXiv:1804.03159


If you are having issues, please let us know by posting the issue on our Github issue tracker.

We also have a Strawberry Fields Slack channel - come join the discussion and chat with our Strawberry Fields team.


PennyLane-SF is free and open source, released under the Apache License, Version 2.0.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
PennyLane_SF-0.4.1-py3-none-any.whl (15.1 kB) Copy SHA256 hash SHA256 Wheel py3
PennyLane-SF-0.4.1.tar.gz (8.3 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page