Git Product home page Git Product logo

qiskit-nature's Introduction

Qiskit Nature

LicenseBuild StatusCoverage Status

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 Qiskit Terra's algorithms easier
  • and much more

Installation

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

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

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:

License

This project uses the Apache License 2.0.

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

qiskit-nature's People

Contributors

manoelmarques avatar mrossinek avatar woodsp-ibm avatar ikkoham avatar kevinsung avatar cryoris avatar pbark avatar chunfuchen avatar t-imamichi avatar javabster avatar divshacker avatar sooluthomas avatar brogis1 avatar anthony-gandon avatar jlapeyre avatar eric-arellano avatar declanmillar avatar paulineollitrault avatar mtreinish avatar stefan-woerner avatar elept avatar wifisunset avatar a-matsuo avatar omarcostahamido avatar jschuhmac avatar julenl avatar 1ucian0 avatar garrison avatar hhorii avatar dlasecki avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.