Skip to main content

Quantum chemistry simulation library.

Project description

logo

OpenQEMIST

Build Status

Harnessing the combined power of emerging quantum computing technologies and state-of-the-art classical techniques, the Quantum-Enabled Molecular ab Initio Simulation Toolkit, or QEMIST, is 1QBit’s innovative solution to a fundamental and intractable problem in chemistry: ab initio simulation of molecules.

The accurate prediction of the electronic structure of a molecule is key to the design of new materials, such as drug compounds and catalyst molecules, by helping to anticipate a material’s properties before its synthesis in the lab. However, obtaining this information using classical computers is computationally intensive, and the resources required for an exact solution scale exponentially with the size of the problem. Attempts to provide approximate approaches to this problem on classical computers have been to date either limited to small-sized systems or compromising on the accuracy of the simulation.

Installation

To install the package with pip:

  1. Follow the setup instructions for installing the .NET Core SDK and the Microsoft IQ# module.

  2. Install OpenQEMIST with pip install openqemist.

To install OpenQEMIST from source, simply clone the GitHub repo and add the package to your PYTHONPATH. The dependencies for running the project are the Microsoft .NET Core SDK, IQ#, and qsharp packages as well as pyscf, numpy, and scipy. The most current list of dependencies, as well as dependencies for building the documentation can be found in the Dockerfile.

Getting started

To get started install the package, then see the Jupyter notebooks for example usage.

Contents of the repository

Details the organization of this repository and the contents of each folder

  • cont_integration : Tools and script for continuous integration (versioning, automated testing and updating documentation)

  • documentation : Source code documentation and user documentation

  • examples : Examples and tutorials to learn how to use the different functionalities of the library

  • openqemist : The python package.

Architechture of OpenQEMIST

OpenQEMIST is organized into three layers: problem decomposition, electronic structure solvers, and hardware backends. The problem decomposition layer is responsible for splitting the input molecule into smaller subproblems and treating these using one particular eigenvalue solver (conceivably, fragments could be treated using multiple solvers), then processing these results into an overall output energy. Some electronic structure solvers use classical methods, while others use wrappers over quantum algorithms running on quantum computing emulators and simulators from quantum platofrm providers. The quantum solver backend layer implements a common interface over libraries, emulators and simulators of quantum hardware.

As OpenQEMIST includes a portion of functionalities incorporated in QEMIST, DMET is the only problem decomposition technique open sourced in our initial release. This release includes the Full CI and coupled-cluster with single and double excitations (CCSD) electronic structure solvers, as well as a quantum electronic structure solver based on the Variational Quantum Eigensolver (VQE) algorithm.

On the hardware backend, this initial release is integrated with Microsoft Quantum Development Kit for running the VQE algorithm.

Contributing

We welcome contributions to OpenQEMIST! Please open an issue or submit a pull request on GitHub to start the process.

Citing

If you use OpenQEMIST in your research, please cite

Takeshi Yamazaki, Shunji Matsuura, Ali Narimani, Anushervon Saidmuradov, and Arman Zaribafiyan "Towards the Practical Application of Near-Term Quantum Computers in Quantum Chemistry Simulations: A Problem Decomposition Approach" Published on arXiv on Jun 4, 2018.

Copyright 1QBit 2019. This software is released under the Apache Software License version 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openqemist-0.1.0.tar.gz (29.4 kB view details)

Uploaded Source

Built Distribution

openqemist-0.1.0-py3-none-any.whl (64.5 kB view details)

Uploaded Python 3

File details

Details for the file openqemist-0.1.0.tar.gz.

File metadata

  • Download URL: openqemist-0.1.0.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8

File hashes

Hashes for openqemist-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c0a71d7a2c354078087d6e4122c35a16d2ad109b1f31861b2a9b32e49e46bf11
MD5 9312b97c69d1ea5ef972df34041ad388
BLAKE2b-256 674b5d3bdad19b894ebe42bdfe0cef4897ce55cce55a9e4b1be08e3a399d1c8e

See more details on using hashes here.

File details

Details for the file openqemist-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: openqemist-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 64.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8

File hashes

Hashes for openqemist-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 901b1cdc0b62e0caa22043b0e0f20440ac6a09e773796610c997157349a048db
MD5 85e059efe329c8775c08d8ba079b74e1
BLAKE2b-256 e410eee81ff504f3be501753073b21bc7969e02284d70741cd8a807d359b36f4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page