forked from Budapest-Quantum-Computing-Group/piquasso
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
52 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,73 @@ | ||
# Development Guide | ||
# Piquasso | ||
|
||
Note: This package is still under development. | ||
![Codecov](https://img.shields.io/codecov/c/github/Budapest-Quantum-Computing-Group/piquasso) | ||
![GitHub](https://img.shields.io/github/license/Budapest-Quantum-Computing-Group/piquasso) | ||
![GitHub](https://img.shields.io/github/issues/Budapest-Quantum-Computing-Group/piquasso) | ||
![GitHub](https://img.shields.io/github/issues-pr/Budapest-Quantum-Computing-Group/piquasso) | ||
|
||
## A Python library for designing and simulating photonic quantum computers | ||
|
||
Piquasso is based on a fine-grained model for photonic quantum computations. Besides | ||
general computational models, Piquasso allows the application of special cases, such as | ||
computations on particle number conserving or a pure Fock backend. The explicit use of | ||
those special cases results in certain benefits. First of all, in Piquasso one can avoid | ||
decoherence if the computation is theoretically guaranteed to be pure. Moreover, the | ||
execution time and memory requirements of the computations can be significantly reduced | ||
for those special cases. | ||
|
||
## Installation | ||
|
||
Piquasso and its dependencies can be installed via pip: | ||
|
||
``` | ||
pip install piquasso | ||
``` | ||
|
||
If you wish to, you can also install | ||
[piquassoboost]( https://github.com/Budapest-Quantum-Computing-Group/piquassoboost) for | ||
performance improvement. | ||
|
||
## Documentation | ||
|
||
http://piquasso.com/ | ||
|
||
## How to contribute? | ||
|
||
Open an *Issue* or a *Pull request*. | ||
We welcome people who want to make contributions to Piquasso, be it big or small! If you | ||
are considering larger contributions to the source code, please contact us first. | ||
|
||
## Development requirements | ||
We also appreciate bug reports, suggestions, or any kind of idea regarding Piquasso. | ||
|
||
The `eigen3` C++ library is needed to be installed for the | ||
## Development guide | ||
|
||
The `eigen3` C++ library needs to be installed for the | ||
`thewalrus` (dependency of `strawberryfields`). | ||
|
||
The Ubuntu/Debian you can install it with | ||
On Ubuntu/Debian you can install it with | ||
|
||
``` | ||
sudo apt-get install libeigen3-dev | ||
``` | ||
|
||
Now, to enter a virtual environment and install all development dependencies, use | ||
Now, to install development dependencies, use: | ||
|
||
``` | ||
virtualenv .venv | ||
source .venv/bin/activate | ||
pip install -e . | ||
pip install -rrequirements.txt | ||
``` | ||
|
||
## Testing | ||
|
||
Testing can be done with `tox` as well. Install `tox` and run tests with the following commands: | ||
Tests and additional checks can be run using `tox`. After installation, run the | ||
following command: | ||
|
||
``` | ||
pip install tox | ||
tox -e py39 | ||
``` | ||
|
||
Alternatively, you can run only the tests using `pytest`. After installation, run the | ||
following command: | ||
|
||
``` | ||
pytest tests | ||
``` | ||
|