(Bo)son (S)ampling (S)imulator
The project is meant to implement the ideas proposed in references [1] and [2] for classically simulating lossy boson sampling.
Summary
Getting Started
So far, to get the project one only needs to download it from the repository (or any other source).
It's also possible to download it as a package with
pip install theboss
which will download the package from pypi.
Prerequisites
To run the scripts there will be needed some version of Python. During the development I'm using 3.8, but I believe that it will also work just fine with some earlier or newer version (at least for now).
The package has been tested for python 3.7 to 3.10.
In some places I use math.prod and typing package, that's why 3.8 version is
desirable.
Code style
Throughout this work PEP-8 will be used. There are several cases where this may go south.
- In some versions of the code matrices may be denoted by capital letters (as in standard mathematical notation). In order to be more PEP-friendly I'll try to use prefix m_ instead of capital letters, e.g. m_u would be the equivalent of U. Alternatively explicit use of matrix is also acceptable.
Running the tests
Just run all test in tests folder with pytest or via tox command.
Versioning
I'll use SemVer for versioning and try to keep track of the version in the tags.
Authors
- Tomasz Rybotycki
- Malhavok - These precious reviews <3
- Billie Thompson - Provided README Template
License
This project is licensed under the Apache License, v.2.0. See the LICENSE.md file for details.
Acknowledgments
- CTP PAS,
- Michał Oszmaniec,
- Poór Boldizsár - major code review,
- Kolarovszki Zoltán - output states lexicographicalization,
- sisco0 - some minor bugs pointed out.
- This research was supported in part by PL-Grid Infrastructure.
References
This project follows / uses the ideas presented in following papers:
[0] Clifford P., Clifford R., arXiv:1706.01260 [quant-ph].
[1] Oszmaniec M., Brod D. J., arXiv:1801.06166 [quant-ph].
[2] Brod D. J., Oszmaniec M., arXiv:1906.06696 [quant-ph].
[3] Maciejewski F. B., Zimboras Z., Oszmaniec M., arXiv:1907.08518 [quant-ph].
[4] Mezzadri F., arXiv:math-ph/0609050 [math-ph].
[5] Clifford P., Clifford R., arXiv:2005.04214 [quant-ph].
Metadata
Release files for theboss 3.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| theboss-3.0.1.tar.gz | 44.5 kB | Without provenance | Details for theboss-3.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| theboss-3.0.1-py3-none-any.whl | Python 3 | none | any | Details for theboss-3.0.1-py3-none-any.whl |
Total release size: 111.4 kB
Release files / theboss-3.0.1.tar.gz
| Download URL | theboss-3.0.1.tar.gz |
|---|---|
| Size | 44.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c0b6bdf197d8dd862ed641b8935c5293a4af618a337afd8fb8abee8a11b3a51
|
|
BLAKE2b-256 checksum How to use checksums |
a0a571442f5250509ff0679ca658d58ca1106ed80f9514feda452dd62de12c98
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.12
|
Release files / theboss-3.0.1-py3-none-any.whl
| Download URL | theboss-3.0.1-py3-none-any.whl |
|---|---|
| Size | 66.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d179a8ae0e7629daeb4d23a871829897197ea69d8ed77643d0891dedc55fb01c
|
|
BLAKE2b-256 checksum How to use checksums |
930fe29010f2f966afdaeaef114a09960848517fa18e3445525b36f8c5aa444f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.9.12
|
Security for theboss 3.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.