qutip-tutorials

QuTiP Tutorials

https://github.com/qutip/qutip-tutorials

Science Score: 44.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
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.1%) to scientific vocabulary

Keywords from Contributors

quantum quantum-computing quantum-information quantum-mechanics quantum-optics quantum-toolbox qutip unitaryhack
Last synced: 7 months ago · JSON representation ·

Repository

QuTiP Tutorials

Basic Info
  • Host: GitHub
  • Owner: qutip
  • License: bsd-3-clause
  • Language: Jinja
  • Default Branch: main
  • Size: 77.8 MB
Statistics
  • Stars: 57
  • Watchers: 9
  • Forks: 48
  • Open Issues: 18
  • Releases: 0
Created almost 4 years ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

QuTiP Tutorials

This repositories collects tutorials of different complexity for using QuTiP. Some of the notebooks are also shown on the QuTiP Tutorials website.

The notebooks in this repository are stored in a Markdown format and thus have no outputs. To generate the outputs, follow the installation guide below.

The notebooks are located in the folders tutorials-v4 / tutorials-v5, where the version number stands for the QuTiP version they work with.

Installation Guide

To modify and execute the notebooks yourself, you have to install an environment with the required packages.

If you use Anaconda, you can install the required dependencies for this repository by:

shell cd qutip-tutorials conda env create --file environment.yml conda activate qutip-tutorials

Alternatively, you can install the requirements using pip (we recommend the usage of virtual environments):

shell pip install -r requirements.txt

Regardless of the installation method, you can now start Jupyter Notebook by executing:

shell jupyter notebook

Your browser should automatically open the Jupyter Notebook frontend. Otherwise open the link displayed in the terminal.

Navigate into the tutorials-v4 or tutorials-v5 directory and select one of the notebooks. Note that the format of the notebooks is .md (markdown), which is intended for better compatibility with git features.

Contributing

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. Note that all notebooks are tested automatically to work with the latest version of QuTiP. Furthermore, this repository uses notebooks in the markdown format. See below how to convert the format of an already existing notebook.

Add a new notebook

If you want to create a new notebook, copy the template.md located in the tutorials directory, edit it and save it as a new markdown file. Please keep in mind that new users might use the notebook as an entry point to QuTiP.

Add an existing notebook

To add an already existing notebook to the repository, copy it to the tutorials directory and create a pull request. If the notebook is in the . ipynb format please convert it to markdown using JupyText by executing:

shell jupytext --to md my_notebook.ipynb

Formatting a notebook

We aim to create notebooks consistent with the PEP8 style guide. Therefore, we use flake8 to check the formatting of every notebook. To format a notebook before adding it to this repository you can use black and isort to do so. You can apply these two tools to notebook by using the tool nbQA.

To format any notebook notebook.ipynb (in the Jupyter format) run:

shell nbqa black notebook.ipynb nbqa isort notebook.ipynb

To test whether the notebook conforms with the PEP8 style guide run:

shell nbqa flake8 notebook.ipynb

If the notebook is already in the MarkDown format, you can use JupyText to convert it back to .ipynb:

shell jupytext --to notebook notebook.md

If the notebook is in the MarkDown format saved via Jupytext, you can format it using:

shell nbqa black notebook.md

LaTeX and ImageMagick installation

Some functions of the notebooks (e.g. plotting QCircuits) require a working installation of ImageMagick and LaTeX. If you used conda to install the requirements, ImageMagick is already installed. Otherwise, follow the instruction on their website.

Owner

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

Quantum Toolbox in Python

Citation (CITATION.bib)

@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}
}

GitHub Events

Total
  • Issues event: 2
  • Watch event: 23
  • Issue comment event: 72
  • Push event: 36
  • Pull request review comment event: 99
  • Pull request review event: 87
  • Pull request event: 52
  • Fork event: 12
Last Year
  • Issues event: 2
  • Watch event: 23
  • Issue comment event: 72
  • Push event: 36
  • Pull request review comment event: 99
  • Pull request review event: 87
  • Pull request event: 52
  • Fork event: 12

Committers

Last synced: 10 months ago

All Time
  • Total Commits: 621
  • Total Committers: 18
  • Avg Commits per committer: 34.5
  • Development Distribution Score (DDS): 0.575
Past Year
  • Commits: 181
  • Committers: 10
  • Avg Commits per committer: 18.1
  • Development Distribution Score (DDS): 0.547
Top Committers
Name Email Commits
christian512 c****e@p****t 264
Simon Cross h****r@g****m 84
Maximilian Meyer-Mölleringhof m****9@g****m 82
tamakoshi2001 t****y@g****m 33
Paul Menczel p****l@m****t 31
mcditooss g****e@g****m 28
MathiB123 m****1@v****a 17
Eric Giguere e****e@g****m 16
YousefElbrolosy y****y@g****m 13
Neill Lambert n****t@g****m 13
Eric Giguere e****e@c****a 11
Rochisha Agarwal 4****0 11
gadhvirushiraj g****j@g****m 10
Alessio Parato a****o@M****l 4
Artur V. Domingues 7****s 1
Gerardo Jose Suarez 3****s 1
Marco Gobbo 4****o 1
Utkarsh u****8@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 29
  • Total pull requests: 120
  • Average time to close issues: 3 months
  • Average time to close pull requests: 2 months
  • Total issue authors: 9
  • Total pull request authors: 21
  • Average comments per issue: 1.59
  • Average comments per pull request: 1.9
  • Merged pull requests: 95
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 43
  • Average time to close issues: 21 days
  • Average time to close pull requests: 2 months
  • Issue authors: 2
  • Pull request authors: 9
  • Average comments per issue: 0.0
  • Average comments per pull request: 2.19
  • Merged pull requests: 34
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • hodgestar (16)
  • christian512 (6)
  • rupayan2029 (1)
  • alejandro-the-physicist (1)
  • rochisha0 (1)
  • FerEsp (1)
  • BoxiLi (1)
  • ArturDomingues (1)
  • flowerthrower (1)
  • Htxxxg (1)
Pull Request Authors
  • christian512 (30)
  • Langhaarzombie (21)
  • Ericgig (14)
  • hodgestar (13)
  • rochisha0 (12)
  • LegionAtol (10)
  • gsuarezr (8)
  • pmenczel (5)
  • nwlambert (5)
  • MathiB123 (4)
  • tamakoshi2001 (3)
  • gadhvirushiraj (2)
  • obliviateandsurrender (2)
  • ArturDomingues (2)
  • YousefElbrolosy (2)
Top Labels
Issue Labels
good first issue (3) bug (1) enhancement (1)
Pull Request Labels

Dependencies

requirements.txt pypi
  • black ==22.3.0
  • flake8 ==4.0.1
  • isort ==5.10.1
  • jupytext ==1.13.8
  • matplotlib ==3.5.2
  • nbqa ==1.3.1
  • notebook ==6.4.11
  • numpy ==1.21.0
  • qutip ==4.7.0
  • qutip-qip ==0.2.1
  • scipy ==1.8.1
.github/workflows/nightly_ci.yaml actions
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • conda-incubator/setup-miniconda v2 composite
  • gaurav-nelson/github-action-markdown-link-check v1 composite
.github/workflows/notebook_ci.yaml actions
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • actions/download-artifact master composite
  • actions/upload-artifact v3 composite
  • conda-incubator/setup-miniconda v2 composite
  • gaurav-nelson/github-action-markdown-link-check v1 composite
website/Gemfile rubygems
  • github-pages >= 0 development
environment.yml conda
  • cython 0.29.32
  • imagemagick 7.1.0_36
  • jupytext 1.13.8
  • matplotlib 3.5.2
  • mpmath 1.2.1
  • notebook 6.4.11
  • pip 22.1.2
  • python 3.10.4
  • qutip 4.7.0
  • scipy 1.8.1