<h1 align="center">
<img src="./docs/assets/logo_sq.png" height="120" alt="bosonic-jax logo">
</h1>
[![License](https://img.shields.io/github/license/EQuS/bosonic-jax.svg?style=popout-square)](https://opensource.org/license/apache-2-0) [![](https://img.shields.io/github/release/EQuS/bosonic-jax.svg?style=popout-square)](https://github.com/EQuS/bosonic-jax/releases) [![](https://img.shields.io/pypi/dm/bosonic-jax.svg?style=popout-square)](https://pypi.org/project/bosonic-jax/)
[S. R. Jha](https://github.com/Phionx), [S. Chowdhury](https://github.com/shoumikdc), [M. Hays](https://scholar.google.com/citations?user=06z0MjwAAAAJ), [J. A. Grover](https://scholar.google.com/citations?user=igewch8AAAAJ), [W. D. Oliver](https://scholar.google.com/citations?user=4vNbnqcAAAAJ&hl=en)
**Docs:** [https://equs.github.io/bosonic-jax](https://equs.github.io/bosonic-jax)
We present `bosonic-jax` 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-jax` ontop of `JAX` to enable the auto differentiable and (CPU, GPU, TPU) accelerated unitary and hamiltonian simulation of these quantum circuits under experimentally realisitic noise and dissipation.
## Installation
`bosonic-jax` is published on PyPI. So, to install the latest version from PyPI, simply run the following code to install the package:
```bash
pip install bosonic-jax
```
For more details, please visit the getting started > installation section of our [docs](https://equs.github.io/bosonic-jax/getting_started/installation.html).
## An Example
Here's an example on how to use `bosonic-jax`:
```
from bosonic_jax 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](https://github.com/Phionx), [Shoumik Chowdhury](https://github.com/shoumikdc)
This package was initiall developed without JAX in the fall of 2021. Then, `bosonic-jax` 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](https://equs.mit.edu/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:
```
@unpublished{jha2024jaxquantum,
title = {An auto differentiable and hardware accelerated software toolkit for quantum circuit design, simulation and control},
author = {Shantanu R. Jha, Shoumik Chowdhury, Max Hays, Jeff A. Grover, William D. Oliver},
year = {2024},
url = {https://github.com/EQuS/jaxquantum, https://github.com/EQuS/bosonic-jax, https://github.com/EQuS/qcsys}
}
```
> 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](mailto:shanjha@mit.edu) to set up a meeting.
Raw data
{
"_id": null,
"home_page": "https://github.com/EQuS/bosonic-jax",
"name": "bosonic-jax",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "bosonic jax qubits cQED QEC GKP quantum error correction",
"author": "Shantanu Jha, Shoumik Chowdhury, Max Hays",
"author_email": "shantanu.rajesh.jha@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/c5/27/45577f592f2c85c312784556905b8a7ab9e7c6934bfbb363299318f6a21d/bosonic-jax-0.1.0.1.tar.gz",
"platform": null,
"description": "<h1 align=\"center\">\n <img src=\"./docs/assets/logo_sq.png\" height=\"120\" alt=\"bosonic-jax logo\">\n</h1>\n\n\n[![License](https://img.shields.io/github/license/EQuS/bosonic-jax.svg?style=popout-square)](https://opensource.org/license/apache-2-0) [![](https://img.shields.io/github/release/EQuS/bosonic-jax.svg?style=popout-square)](https://github.com/EQuS/bosonic-jax/releases) [![](https://img.shields.io/pypi/dm/bosonic-jax.svg?style=popout-square)](https://pypi.org/project/bosonic-jax/)\n\n[S. R. Jha](https://github.com/Phionx), [S. Chowdhury](https://github.com/shoumikdc), [M. Hays](https://scholar.google.com/citations?user=06z0MjwAAAAJ), [J. A. Grover](https://scholar.google.com/citations?user=igewch8AAAAJ), [W. D. Oliver](https://scholar.google.com/citations?user=4vNbnqcAAAAJ&hl=en)\n\n**Docs:** [https://equs.github.io/bosonic-jax](https://equs.github.io/bosonic-jax)\n\nWe present `bosonic-jax` 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-jax` ontop of `JAX` to enable the auto differentiable and (CPU, GPU, TPU) accelerated unitary and hamiltonian simulation of these quantum circuits under experimentally realisitic noise and dissipation.\n\n\n## Installation\n\n`bosonic-jax` is published on PyPI. So, to install the latest version from PyPI, simply run the following code to install the package:\n\n```bash\npip install bosonic-jax\n```\n\nFor more details, please visit the getting started > installation section of our [docs](https://equs.github.io/bosonic-jax/getting_started/installation.html).\n\n\n## An Example\n\nHere's an example on how to use `bosonic-jax`:\n\n```\nfrom bosonic_jax import BosonicRegister, GKPQubit, Qubit, BosonicCircuit, PhaseRotationGate, CDGate, execute\nimport jax.numpy as jnp\n\nbreg = BosonicRegister([GKPQubit(),Qubit()]) # [q0,q1]\nbcirc = BosonicCircuit(breg)\n\nbcirc.x(1) # add an X Gate on q1\nbcirc.add(PhaseRotationGate, 0, {\"phi\": jnp.pi/4}) \nbcirc.add(CDGate, (0,1), {\"beta\": 1}) # q0 is the control\n\nresults = execute(bcirc, \"unitary_jax\")\nresults.plot(bcirc, 0)\nresults.plot(bcirc, 1)\n```\n\n## Acknowledgements & History\n\n**Core Devs:** [Shantanu A. Jha](https://github.com/Phionx), [Shoumik Chowdhury](https://github.com/shoumikdc)\n\n\nThis package was initiall developed without JAX in the fall of 2021. Then, `bosonic-jax` 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](https://equs.mit.edu/william-d-oliver/). \n\n## Citation\n\nThank you for taking the time to try our package out. If you found it useful in your research, please cite us as follows:\n\n``` \n@unpublished{jha2024jaxquantum,\n title = {An auto differentiable and hardware accelerated software toolkit for quantum circuit design, simulation and control},\n author = {Shantanu R. Jha, Shoumik Chowdhury, Max Hays, Jeff A. Grover, William D. Oliver},\n year = {2024},\n url = {https://github.com/EQuS/jaxquantum, https://github.com/EQuS/bosonic-jax, https://github.com/EQuS/qcsys}\n}\n```\n> 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.\n\n\n## Contributions & Contact\n\nThis 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](mailto:shanjha@mit.edu) to set up a meeting. \n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "Bosonic JAX",
"version": "0.1.0.1",
"project_urls": {
"Bug Tracker": "https://github.com/EQuS/bosonic-jax/issues",
"Documentation": "https://equs.github.io/bosonic-jax",
"Homepage": "https://github.com/EQuS/bosonic-jax",
"Source Code": "https://github.com/EQuS/bosonic-jax",
"Tests": "https://github.com/EQuS/bosonic-jax/test",
"Tutorials": "https://github.com/EQuS/bosonic-jax/tutorials"
},
"split_keywords": [
"bosonic",
"jax",
"qubits",
"cqed",
"qec",
"gkp",
"quantum",
"error",
"correction"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "c52745577f592f2c85c312784556905b8a7ab9e7c6934bfbb363299318f6a21d",
"md5": "195afed50c9700848501b62437936522",
"sha256": "9d5d674b5ae6d374970bf08b7cb6d92fb15846012a8a907d45954ae53041d5f7"
},
"downloads": -1,
"filename": "bosonic-jax-0.1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "195afed50c9700848501b62437936522",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 35585,
"upload_time": "2024-03-04T10:57:02",
"upload_time_iso_8601": "2024-03-04T10:57:02.100917Z",
"url": "https://files.pythonhosted.org/packages/c5/27/45577f592f2c85c312784556905b8a7ab9e7c6934bfbb363299318f6a21d/bosonic-jax-0.1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-04 10:57:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "EQuS",
"github_project": "bosonic-jax",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "bosonic-jax"
}