Open source library for continuous-variable quantum computation
Project description
Strawberry Fields is a full-stack Python library for designing, simulating, and optimizing continuous variable (CV) quantum optical circuits.
Features
An open-source software architecture for photonic quantum computing
A full-stack quantum software platform, implemented in Python specifically targeted to the CV model
Quantum circuits are written using the easy-to-use and intuitive Blackbird quantum programming language
Includes a suite of CV quantum computer simulators implemented using NumPy and Tensorflow - these built-in quantum compiler tools convert and optimize Blackbird code for classical simulation
Future releases will aim to target experimental backends, including photonic quantum computing chips
Dependencies
Strawberry Fields depends on the following Python packages:
Python >=3.5
NumPy >=1.13.3
SciPy >=1.0.0
NetworkX >=2.0
Tensorflow >=1.3,<1.7
These can be installed using pip, or, if on linux, using your package manager (i.e. apt if on a Debian-based system.)
Installation
Installation of Strawberry Fields, as well as all required Python packages mentioned above, can be done using pip:
$ python -m pip install strawberryfields
Software tests
To ensure that Strawberry Fields is working correctly after installation, the test suite can be run by navigating to the source code folder and running
make test
Note that this runs all of the tests, using all available backends, so can be quite slow (it should take around 40 minutes to complete). Alternatively, you can run the full test suite for a particular backend by running
make test-[backend]
where [backend] should be replaced with the backend you would like to test (fock, tf, or gaussian).
Individual test modules are run using
python tests/test_gate.py --backend=[backend]
Documentation
The Strawberry Fields documentation is built automatically and hosted at Read the Docs.
To build the documentation locally, the following additional packages are required:
Sphinx >=1.5
graphviz >=2.38
sphinxcontrib-bibtex >=0.3.6
If using Ubuntu, they can be installed via a combination of apt and pip:
$ sudo apt install graphviz $ pip3 install sphinx --user $ pip3 install sphinxcontrib-bibtex --user
To build the HTML documentation, go to the top-level directory and run the command
$ make docs
The documentation can then be found in the doc/_build/html/ directory.
Support
Source Code: https://github.com/XanaduAI/strawberryfields
Issue Tracker: https://github.com/XanaduAI/strawberryfields/issues
If you are having issues, please let us know by posting the issue on our Github issue tracker.
License
Strawberry Fields is free and open source, released under the Apache License, Version 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file StrawberryFields-0.7.2.tar.gz
.
File metadata
- Download URL: StrawberryFields-0.7.2.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df41e177f47304da0de61b19feeb9a0d2c210a584a6b3912b585c75c7ac3ad90 |
|
MD5 | a943a4fbb2b6725ed811ed2f34bc3534 |
|
BLAKE2b-256 | 1bfac5dea41cfa9c7bfe41866c077cd34ef4ad9e73d6c269ebcfb1ed61d8abda |
File details
Details for the file StrawberryFields-0.7.2-py3-none-any.whl
.
File metadata
- Download URL: StrawberryFields-0.7.2-py3-none-any.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b3fc2ce7078c25807ac44107d875eae170e637d387e0a4bcf5407e785f9dbbe |
|
MD5 | 9bc864fe86aae6f558c9fd0700548c11 |
|
BLAKE2b-256 | 1c6f6b84823fa03d308cfe8f5ab8f1df6713c53576031d729162aea55d38c388 |