qutip

QuTiP: Quantum Toolbox in Python

https://github.com/qutip/qutip

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    17 of 182 committers (9.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.4%) to scientific vocabulary

Keywords

python quantum quantum-computing quantum-information quantum-mechanics quantum-optics quantum-toolbox qutip unitaryhack

Keywords from Contributors

gtk qt tk wx optimizing-compiler closember physics research tensors mesh
Last synced: 6 months ago · JSON representation ·

Repository

QuTiP: Quantum Toolbox in Python

Basic Info
  • Host: GitHub
  • Owner: qutip
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: master
  • Homepage: https://qutip.org
  • Size: 60.5 MB
Statistics
  • Stars: 1,880
  • Watchers: 77
  • Forks: 704
  • Open Issues: 139
  • Releases: 33
Topics
python quantum quantum-computing quantum-information quantum-mechanics quantum-optics quantum-toolbox qutip unitaryhack
Created over 13 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

QuTiP: Quantum Toolbox in Python

A. Pitchford, C. Granade, A. Grimsmo, N. Shammah, S. Ahmed, N. Lambert, E. Giguère, B. Li, J. Lishman, S. Cross, A. Galicia, P. Menczel, P. Hopf, P. D. Nation, and J. R. Johansson

Build Status Coverage Status Maintainability license PyPi Downloads Conda-Forge Downloads

QuTiP is open-source software for simulating the dynamics of closed and open quantum systems. It uses the excellent Numpy, Scipy, and Cython packages as numerical backends, and graphical output is provided by Matplotlib. QuTiP aims to provide user-friendly and efficient numerical simulations of a wide variety of quantum mechanical problems, including those with Hamiltonians and/or collapse operators with arbitrary time-dependence, commonly found in a wide range of physics applications. QuTiP is freely available for use and/or modification, and it can be used on all Unix-based platforms and on Windows. Being free of any licensing fees, QuTiP is ideal for exploring quantum mechanics in research as well as in the classroom.

Support

Unitary Fund Powered by NumFOCUS

We are proud to be affiliated with Unitary Fund and numFOCUS.

We are grateful for Nori's lab at RIKEN and Blais' lab at the Institut Quantique for providing developer positions to work on QuTiP.

We also thank Google for supporting us by financing GSoC students to work on the QuTiP as well as other supporting organizations that have been supporting QuTiP over the years.

Installation

Pip Package Conda-Forge Package

QuTiP is available on both pip and conda (the latter in the conda-forge channel). You can install QuTiP from pip by doing

bash pip install qutip

to get the minimal installation. You can instead use the target qutip[full] to install QuTiP with all its optional dependencies. For more details, including instructions on how to build from source, see the detailed installation guide in the documentation.

All back releases are also available for download in the releases section of this repository, where you can also find per-version changelogs. For the most complete set of release notes and changelogs for historic versions, see the changelog section in the documentation.

The pre-release of QuTiP 5.0 is available on PyPI and can be installed using pip:

bash pip install --pre qutip

This version breaks compatibility with QuTiP 4.7 in many small ways. Please see the changelog for a list of changes, new features and deprecations. This version should be fully working. If you find any bugs, confusing documentation or missing features, please create a GitHub issue.

Documentation

Documentation Status - Latest

The documentation for the latest stable release and the master branch is available for reading on Read The Docs.

The documentation for official releases, in HTML and PDF formats, can be found in the documentation section of the QuTiP website.

The latest development documentation is available in this repository in the doc folder.

A selection of demonstration notebooks is available, which demonstrate some of the many features of QuTiP. These are stored in the qutip/qutip-tutorials repository here on GitHub.

Contribute

You are most welcome to contribute to QuTiP development by forking this repository and sending pull requests, or filing bug reports at the issues page. You can also help out with users' questions, or discuss proposed changes in the QuTiP discussion group. All code contributions are acknowledged in the contributors section in the documentation.

For more information, including technical advice, please see the "contributing to QuTiP development" section of the documentation.

Citing QuTiP

If you use QuTiP in your research, please cite the original QuTiP papers that are available here.

Owner

  • Name: QuTiP
  • Login: qutip
  • Kind: organization

Quantum Toolbox in Python

Citation (CITATION.bib)

@misc{qutip5,
  title = {{QuTiP} 5: The Quantum Toolbox in {Python}},
  author = {
    Lambert, Neill
    and Giguère, Eric
    and Menczel, Paul
    and Li, Boxi
    and Hopf, Patrick
    and Suárez, Gerardo
    and Gali, Marc
    and Lishman, Jake
    and Gadhvi, Rushiraj
    and Agarwal, Rochisha
    and Galicia, Asier
    and Shammah, Nathan
    and Nation, Paul D.
    and Johansson, J. R.
    and Ahmed, Shahnawaz
    and Cross, Simon
    and Pitchford, Alexander
    and Nori, Franco
  },
  year={2024},
  eprint={2412.04705},
  archivePrefix={arXiv},
  primaryClass={quant-ph},
  url={https://arxiv.org/abs/2412.04705},
  doi={10.48550/arXiv.2412.04705},
}

@article{qutip2,
doi = {10.1016/j.cpc.2012.11.019},
url = {https://doi.org/10.1016/j.cpc.2012.11.019},
year  = {2013},
month = {apr},
publisher = {Elsevier {BV}},
volume = {184},
number = {4},
pages = {1234--1240},
author = {J.R. Johansson and P.D. Nation and F. Nori},
title = {{QuTiP} 2: A {P}ython framework for the dynamics of open quantum systems},
journal = {Computer Physics Communications}
}

@article{qutip1,
doi = {10.1016/j.cpc.2012.02.021},
url = {https://doi.org/10.1016/j.cpc.2012.02.021},
year  = {2012},
month = {aug},
publisher = {Elsevier {BV}},
volume = {183},
number = {8},
pages = {1760--1772},
author = {J.R. Johansson and P.D. Nation and F. Nori},
title = {{QuTiP}: An open-source {P}ython framework for the dynamics of open quantum systems},
journal = {Computer Physics Communications}
}

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 10,175
  • Total Committers: 182
  • Avg Commits per committer: 55.907
  • Development Distribution Score (DDS): 0.765
Past Year
  • Commits: 758
  • Committers: 30
  • Avg Commits per committer: 25.267
  • Development Distribution Score (DDS): 0.761
Top Committers
Name Email Commits
Robert Johansson j****n@g****m 2,389
Paul Nation n****n@g****m 2,040
Eric Giguère e****e@c****a 1,273
Simon Cross h****r@g****m 640
Jake Lishman j****e@b****m 517
Anubhav Vardhan a****n@g****m 356
Alexander Pitchford a****d@g****m 231
Eric Giguere e****e@g****m 229
Paul Menczel p****l@m****t 221
Christopher Granade c****e@c****m 150
Asier Galicia A****z@s****l 147
tamakoshi t****y@g****m 142
mcditooss g****e@g****m 141
Boxi Li e****1@g****m 136
MathiB123 1****3 129
Sidhant Saraogi s****i@u****a 100
christian512 c****e@p****t 79
Emi 7****s 77
Tarun Raheja t****9@g****m 61
Markus Baden m****n@g****m 46
Piotr Migdal p****l@g****m 46
Purva Thakre p****e@g****m 39
Denis Vasilyev d****i@g****m 39
Kevin Fischer f****a@g****m 38
Shahnawaz Ahmed s****5@g****m 38
Rochisha Agarwal r****2@g****m 36
Arne Grimsmo a****o@g****m 34
Nathan Shammah n****h@g****m 33
Neill Lambert n****t@g****m 31
dependabot[bot] 4****] 29
and 152 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 256
  • Total pull requests: 707
  • Average time to close issues: over 1 year
  • Average time to close pull requests: 24 days
  • Total issue authors: 163
  • Total pull request authors: 73
  • Average comments per issue: 2.64
  • Average comments per pull request: 1.98
  • Merged pull requests: 556
  • Bot issues: 0
  • Bot pull requests: 28
Past Year
  • Issues: 57
  • Pull requests: 236
  • Average time to close issues: 11 days
  • Average time to close pull requests: 9 days
  • Issue authors: 46
  • Pull request authors: 37
  • Average comments per issue: 1.33
  • Average comments per pull request: 1.33
  • Merged pull requests: 156
  • Bot issues: 0
  • Bot pull requests: 8
Top Authors
Issue Authors
  • Ericgig (22)
  • pmenczel (9)
  • nwlambert (7)
  • Sola85 (7)
  • BenjaminDAnjou (5)
  • Phyks (5)
  • AGaliciaMartinez (4)
  • ajgpitch (4)
  • albertomercurio (4)
  • christian512 (4)
  • hodgestar (4)
  • gabbence95 (3)
  • joeybarreto (3)
  • theodotk (3)
  • Chengie6 (3)
Pull Request Authors
  • Ericgig (398)
  • pmenczel (39)
  • dependabot[bot] (28)
  • hodgestar (23)
  • rochisha0 (23)
  • MathiB123 (12)
  • Sola85 (11)
  • nwlambert (10)
  • PositroniumJS (10)
  • gsuarezr (9)
  • tamakoshi2001 (7)
  • Picsidust (6)
  • magnamancer (6)
  • Tanuj-rai (6)
  • omnster (5)
Top Labels
Issue Labels
ENH (41) good first issue (27) physics (14) BUG (13) code (10) DOC (6) floquet (4) Q&A (4) medium (2) qip (2) easy (2) help wanted (2) solver (2) core (1) v4 (1)
Pull Request Labels
dependencies (28) python (6) BUG (2) ENH (2) invalid (1)

Dependencies

doc/requirements.txt pypi
  • Babel ==2.9.1
  • Cython ==0.29.23
  • Jinja2 ==2.11.3
  • MarkupSafe ==1.1.1
  • Pillow ==9.0.1
  • Pygments ==2.8.1
  • Sphinx ==3.5.4
  • alabaster ==0.7.12
  • appnope ==0.1.2
  • backcall ==0.2.0
  • certifi ==2020.12.5
  • chardet ==4.0.0
  • cycler ==0.10.0
  • decorator ==5.0.7
  • docutils ==0.16
  • idna ==2.10
  • imagesize ==1.2.0
  • ipython ==7.31.1
  • ipython-genutils ==0.2.0
  • jedi ==0.18.0
  • kiwisolver ==1.3.1
  • matplotlib ==3.3.4
  • numpy ==1.22.0
  • numpydoc ==1.1.0
  • packaging ==20.9
  • parso ==0.8.2
  • pexpect ==4.8.0
  • pickleshare ==0.7.5
  • prompt-toolkit ==3.0.18
  • ptyprocess ==0.7.0
  • pyparsing ==2.4.7
  • python-dateutil ==2.8.1
  • pytz ==2021.1
  • requests ==2.25.1
  • scipy ==1.6.2
  • six ==1.15.0
  • snowballstemmer ==2.1.0
  • sphinx-gallery ==0.8.2
  • sphinx-rtd-theme ==0.5.2
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-bibtex ==2.4.1
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==1.0.3
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.4
  • traitlets ==5.0.5
  • urllib3 ==1.26.5
  • wcwidth ==0.2.5
  • wheel ==0.37.0
requirements.txt pypi
  • cython >=0.29.20
  • numpy >=1.16.6
  • packaging *
  • scipy >=1.0
.github/workflows/build.yml actions
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
.github/workflows/build_documentation.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • conda-incubator/setup-miniconda v2 composite
pyproject.toml pypi
setup.py pypi