Contains the PennyLane Strawberry Fields plugin. This plugin allows two devices to work with PennyLane - the Strawberry Fields Fock backend, and the Strawberry Fields Gaussian backend.
Switch branches/tags
Nothing to show
Clone or download
josh146 Merge pull request #12 from XanaduAI/feature/add_identity_expval
Added support for the new identity expectation value
Latest commit 5a2ee19 Dec 1, 2018


PennyLane Strawberry Fields Plugin

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 expectation values 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.