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 and bosonic 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.

Getting started

To get the SFOpenBoson plugin installed and running on your system, begin at the download and installation guide. Then, familiarize yourself with some background information on the time-propagation of Gaussian Hamiltonians and the Bose-Hubbard model.

For getting started with using the SFOpenBoson plugin in your own code, have a look at the provided Gaussian and Bose-Hubbard tutorials.

Finally, detailed documentation on the code and API is provided.


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


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