qiskit-nature

Qiskit Nature is an open-source, quantum computing, framework for solving quantum mechanical natural science problems.

https://github.com/qiskit-community/qiskit-nature

Science Score: 67.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
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    1 of 83 committers (1.2%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.7%) to scientific vocabulary

Keywords

qiskit

Keywords from Contributors

dag graph-theory quantum-computing network-simulation hacking optim interactive projection generic sequences
Last synced: 6 months ago · JSON representation ·

Repository

Qiskit Nature is an open-source, quantum computing, framework for solving quantum mechanical natural science problems.

Basic Info
Statistics
  • Stars: 348
  • Watchers: 16
  • Forks: 222
  • Open Issues: 62
  • Releases: 27
Topics
qiskit
Created about 5 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Code of conduct Citation Codeowners

README.md

Qiskit Nature

License<!--- long-description-skip-begin -->Build StatusCoverage Status<!--- long-description-skip-end -->

Qiskit Nature is an open-source framework which supports solving quantum mechanical natural science problems using quantum computing algorithms. This includes finding ground and excited states of electronic and vibrational structure problems, measuring the dipole moments of molecular systems, solving the Ising and Fermi-Hubbard models on lattices, and much more.

Qiskit Nature Design

The code comprises various modules revolving around:

  • data loading from chemistry drivers or file formats
  • second-quantized operator construction and manipulation
  • translating from the second-quantized to the qubit space
  • a quantum circuit library of natural science targeted ansatze
  • natural science specific algorithms and utilities to make the use of algorithms from Qiskit Algorithms easier
  • and much more

Installation

We encourage installing Qiskit Nature via the pip tool (a python package manager).

bash pip install qiskit-nature

pip will handle all dependencies automatically and you will always install the latest (and well-tested) version.

If you want to work on the very latest work-in-progress versions, either to try features ahead of their official release or if you want to contribute to Qiskit Nature, then you can install from source. To do this follow the instructions in the documentation.

Optional Installs

To run chemistry experiments using Qiskit Nature, it is recommended that you install a classical computation chemistry software program/library interfaced by Qiskit. Several, as listed below, are supported, and while logic to interface these programs is supplied by Qiskit Nature via the above pip installation, the dependent programs/libraries themselves need to be installed separately.

  • Gaussian 16™, a commercial chemistry program
  • PSI4, a chemistry program that exposes a Python interface allowing for accessing internal objects
  • PySCF, an open-source Python chemistry program

The above codes can be used in a very limited fashion through Qiskit Nature. While this is useful for getting started and testing purposes, a better experience can be had in the reversed order of responsibility. That is, in a setup where the classical code runs the Qiskit Nature components. Such an integration currently exists for the following packages:

If you are interested in using Psi4, we are actively looking for help to get started on a similar integration in qiskit-nature-psi4.

Additionally, you may find the following optional dependencies useful:

  • sparse, a library for sparse multi-dimensional arrays. When installed, Qiskit Nature can leverage this to reduce the memory requirements of your calculations.
  • opt_einsum, a tensor contraction order optimizer for np.einsum.

Creating Your First Chemistry Programming Experiment in Qiskit

Check our getting started page for a first example on how to use Qiskit Nature.

Further examples

Learning path notebooks may be found in the Nature Tutorials section of the documentation and are a great place to start.


Contribution Guidelines

If you'd like to contribute to Qiskit, please take a look at our contribution guidelines. This project adheres to Qiskit's code of conduct. By participating, you are expected to uphold this code.

We use GitHub issues for tracking requests and bugs. Please join the Qiskit Slack community for discussion and simple questions. For questions that are more suited for a forum, we use the Qiskit tag in Stack Overflow.

Authors and Citation

Qiskit Nature was inspired, authored and brought about by the collective work of a team of researchers. Qiskit Nature continues to grow with the help and work of many people, who contribute to the project at different levels. If you use Qiskit Nature, please cite the following references:

  • Qiskit, as per the provided BibTeX file.
  • Qiskit Nature, as per https://doi.org/10.5281/zenodo.7828767

License

This project uses the Apache License 2.0.

However there is some code that is included under other licensing as follows:

Owner

  • Name: Qiskit Community
  • Login: qiskit-community
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "The Qiskit Nature developers and contributors"
title: "Qiskit Nature"
version: 0.6.0
doi: 10.5281/zenodo.7828767
date-released: 2023-04-14
url: "https://github.com/qiskit-community/qiskit-nature"

GitHub Events

Total
  • Create event: 4
  • Issues event: 8
  • Watch event: 38
  • Delete event: 2
  • Member event: 3
  • Issue comment event: 28
  • Push event: 15
  • Pull request review comment event: 29
  • Pull request review event: 39
  • Pull request event: 20
  • Fork event: 19
Last Year
  • Create event: 4
  • Issues event: 8
  • Watch event: 38
  • Delete event: 2
  • Member event: 3
  • Issue comment event: 28
  • Push event: 15
  • Pull request review comment event: 29
  • Pull request review event: 39
  • Pull request event: 20
  • Fork event: 19

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 1,024
  • Total Committers: 83
  • Avg Commits per committer: 12.337
  • Development Distribution Score (DDS): 0.671
Past Year
  • Commits: 7
  • Committers: 6
  • Avg Commits per committer: 1.167
  • Development Distribution Score (DDS): 0.714
Top Committers
Name Email Commits
Manoel Marques M****s@i****m 337
Max Rossmannek o****s@z****m 253
Steve Wood 4****m 105
Richard Chen c****h@u****m 44
Ikko Hamamura i****m 25
Kevin J. Sung k****g@u****u 20
Julien Gacon g****u@g****m 20
Panagiotis Barkoutsos b****a@z****m 15
Abby Mitchell 2****r 10
Takashi Imamichi 3****i 10
Soolu Thomas s****o@g****m 9
Eric Arellano 1****o 9
Divyanshu Singh 5****r 9
Anthony-Gandon a****n@i****m 8
dlasecki d****l@z****m 7
Declan Millar d****r@i****m 7
John Lapeyre j****e 7
Marco Pistoia p****a@u****m 7
Igor Olegovich Sokolov i****o@z****m 7
Julen Larrucea j****t@g****m 6
Matthew Treinish m****h@k****g 6
Pauline Ollitrault 4****t 6
Francesco Troisi 8****i 5
André 9****t 4
Arnau Casau 4****u 4
ElePT 5****T 4
Malik Williams 3****t 4
a-matsuo 4****o 4
Omar Costa Hamido 1****o 3
jschuhmac 7****c 3
and 53 more...
Committer Domains (Top 20 + Academic)

Dependencies

requirements-dev.txt pypi
  • Sphinx >=1.8.3,
  • black *
  • coverage >=4.4.0
  • ddt >=1.2.0,
  • discover *
  • jupyter-sphinx *
  • matplotlib >=3.3
  • mypy >=0.780
  • mypy-extensions >=0.4.3
  • nbsphinx *
  • networkx >=2.2,<2.6
  • pylatexenc >=1.4
  • pylint >=2.9.0,<2.14.0
  • qiskit-aer *
  • qiskit_sphinx_theme *
  • reno >=3.4.0
  • sphinx-autodoc-typehints <1.14.0
  • sphinx-design >=0.2.0
  • sphinx-gallery *
  • sphinxcontrib-spelling *
  • stestr >=2.0.0
requirements.txt pypi
  • h5py *
  • numpy >=1.17
  • psutil >=5
  • qiskit-terra >=0.21.
  • retworkx >=0.10.1
  • scikit-learn >=0.20.0
  • scipy >=1.4
  • setuptools >=40.1.0
  • typing_extensions *
.github/actions/install-main-dependencies/action.yml actions
  • actions/cache v3 composite
.github/workflows/deploy-code.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/deploy-docs.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/main.yml actions
  • ./.github/actions/install-main-dependencies * composite
  • ./.github/actions/install-nature * composite
  • ./.github/actions/install-psi4 * composite
  • ./.github/actions/run-tests * composite
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
.github/workflows/neko.yml actions
  • Qiskit/qiskit-neko main composite
.github/actions/install-nature/action.yml actions
.github/actions/install-psi4/action.yml actions
.github/actions/run-tests/action.yml actions
pyproject.toml pypi
setup.py pypi