A plugin for Strawberry Fields and OpenFermion, providing methods of simulating bosonic Hamiltonians directly in Strawberry Fields
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



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

This Strawberry Fields plugin library allows Strawberry Fields to interface with OpenFermion.

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

OpenFermion is an open source package for compiling and analyzing quantum algorithms that simulate fermionic systems.


  • Construct bosonic Hamiltonians in OpenFermion, and apply the resulting time propagation using a CV quantum circuit.
  • Calculates the time-evolution unitary exactly for Gaussian Hamiltonians – these can then be decomposed into the base CV gate set of Strawberry Fields using the Bloch-Messiah decomposition.
  • Particular non-Gaussian gate decompositions, using the Trotter formula, are also supported, including Bose-Hubbard Hamiltonians.
  • The Hamiltonians submodule contains important OpenFermion-compatible CV Hamiltonians, including those corresponding to the gate set used in Strawberry Fields.

To get started, please see the online documentation


Installation of SFOpenBoson, as well as all required Python packages mentioned above, can be done using pip:

$ python -m pip install sfopenboson

Code authors

Josh Izaac.

If you are doing research using Strawberry Fields, please cite our whitepaper:

Nathan Killoran, Josh Izaac, Nicolás Quesada, Ville Bergholm, Matthew Amy, and Christian Weedbrook. Strawberry Fields: A Software Platform for Photonic Quantum Computing. arXiv, 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.


SFOpenBoson is free and open source, released under the Apache License, Version 2.0.