Quantum chemistry simulation library.
Project description
OpenQEMIST
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.
QEMIST is designed to enable the accurate calculation of molecular properties by leveraging advanced problem decomposition (PD) techniques and quantum computing. The variety of PD techniques implemented in QEMIST enables massively parallel simulations by breaking down a computational chemistry task into smaller, independent subproblems. These subproblems can use a combination of interfaces to various classical and quantum solvers to achieve a higher level of accuracy for large-scale, practical molecular simulations.
OpenQEMIST provides access to a portion of the functionalities of QEMIST as open source software under an Apache 2.0 license. For more information about the full functionality of QEMIST and to obtain additional information, please consult our main product page.
Installation
Installation with pip
The simplest way to install the package is to use pip.
pip install openqemist
Before using the Microsoft Q# integration, follow the setup instructions for installing the .NET Core SDK and the Microsoft IQ# module.
Installation from source
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.
-
benchmarks : Long-running tests for the performance of algorithms on larger molecules
-
docker_images : The docker image that can be used to run the package.
-
cont_integration : Tools and script for continuous integration (versioning, automated testing, and updating documentation)
-
docs : 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 platform providers. The quantum solver backend layer implements a common interface over libraries, emulators, and simulators of quantum hardware.
As OpenQEMIST includes only a portion of the 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 the 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
Built Distribution
File details
Details for the file openqemist-0.1.1.tar.gz
.
File metadata
- Download URL: openqemist-0.1.1.tar.gz
- Upload date:
- Size: 32.2 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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecc6c8a5a2e7d5a97e350494b6c959633c854a6408eb65615161b1bd631827bf |
|
MD5 | 910d635826c829dc14f13e0da40f2319 |
|
BLAKE2b-256 | 199530f7b6860e63d3b9267260581ccd37188312d739b609668dcb9c4b46d5e8 |
File details
Details for the file openqemist-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: openqemist-0.1.1-py3-none-any.whl
- Upload date:
- Size: 76.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
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1994a871498b20a1cca39cf7dc4d2f90acb562c820a628855f23a329a5eef19 |
|
MD5 | 9bcaf4839cf43dc100506f86a48878ec |
|
BLAKE2b-256 | ed75dc46204be3abe1cd507109443c0567dda32f0cd774f88ebe30da1665ebcc |