S. R. Jha, S. Chowdhury, M. Hays, J. A. Grover, W. D. Oliver
Docs: https://equs.github.io/bosonic
We present bosonic as a framework with which to simulate quantum circuits built using bosonic quantum-error-correctable code qubits, such as the Gottesman, Kitaev and Preskill (GKP) code. As such, we build bosonic on top of JAX to enable the auto differentiable and (CPU, GPU, TPU) accelerated unitary and hamiltonian simulation of these quantum circuits under experimentally realistic noise and dissipation.
Installation
bosonic is published on PyPI. So, to install the latest version from PyPI, simply run the following code to install the package:
pip install bosonic
For more details, please visit the getting started > installation section of our docs.
An Example
Here's an example on how to use bosonic:
from bosonic import BosonicRegister, GKPQubit, Qubit, BosonicCircuit, PhaseRotationGate, CDGate, execute
import jax.numpy as jnp
breg = BosonicRegister([GKPQubit(),Qubit()]) # [q0,q1]
bcirc = BosonicCircuit(breg)
bcirc.x(1) # add an X Gate on q1
bcirc.add(PhaseRotationGate, 0, {"phi": jnp.pi/4})
bcirc.add(CDGate, (0,1), {"beta": 1}) # q0 is the control
results = execute(bcirc, "unitary_jax")
results.plot(bcirc, 0)
results.plot(bcirc, 1)
Acknowledgements & History
Core Devs: Shantanu A. Jha, Shoumik Chowdhury
This package was initially developed without JAX in the fall of 2021. Then, bosonic was rebuilt on JAX in early 2022. This package was briefly announced to the world at APS March Meeting 2023 and released to a select few academic groups shortly after. Since then, this package has been open sourced and developed while conducting research in the Engineering Quantum Systems Group at MIT with invaluable advice from Prof. William D. Oliver.
Citation
Thank you for taking the time to try our package out. If you found it useful in your research, please cite us as follows:
@software{jha2024jaxquantum,
author = {Shantanu R. Jha and Shoumik Chowdhury and Max Hays and Jeff A. Grover and William D. Oliver},
title = {An auto differentiable and hardware accelerated software toolkit for quantum circuit design, simulation and control},
url = {https://github.com/EQuS/jaxquantum, https://github.com/EQuS/bosonic, https://github.com/EQuS/qcsys},
version = {0.1.0},
year = {2024},
}
S. R. Jha, S. Chowdhury, M. Hays, J. A. Grover, W. D. Oliver. An auto differentiable and hardware accelerated software toolkit for quantum circuit design, simulation and control (2024), in preparation.
Contributions & Contact
This package is open source and, as such, very open to contributions. Please don't hesitate to open an issue, report a bug, request a feature, or create a pull request. We are also open to deeper collaborations to create a tool that is more useful for everyone. If a discussion would be helpful, please email shanjha@mit.edu to set up a meeting.
Metadata
Release files for bosonic 0.1.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 | |
|---|---|---|---|---|
| bosonic-0.1.1.tar.gz | 35.6 kB | Without provenance | Details |
Release files / bosonic-0.1.1.tar.gz
| Download URL | bosonic-0.1.1.tar.gz |
|---|---|
| Size | 35.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a5a5db8708ff21b24ae3934a4476bcca1bbbf4af2e7102796d58e65d77cde19f
|
|
BLAKE2b-256 checksum How to use checksums |
6917a570c8f9f44c77f0ac71b5052ab3f123c784a216dc1703c05c54a545d2d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.12.3
|
Security for bosonic 0.1.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.