Skip to main content

logo

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.

Getting started

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

To use the Rigetti integration, see the instructions here to install and configure the QVM and Quilc compiler. Alternatively, use the provided docker-compose file to set up the environment.

To use the Microsoft QDK integration follow the instructions here to install the required dependencies.

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.

Metadata

Release files for openqemist 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openqemist 0.2.1
File Size Uploaded Provenance Actions
openqemist-0.2.1.tar.gz 42.9 kB Without provenance Details for openqemist-0.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for openqemist 0.2.1
File Interpreter ABI Platform Actions
openqemist-0.2.1-py3-none-any.whl Python 3 none any Details for openqemist-0.2.1-py3-none-any.whl

Total release size: 136.8 kB

Release files / openqemist-0.2.1.tar.gz

Download URL openqemist-0.2.1.tar.gz
Size 42.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5451934420673e4ccf94debb2f697b035740abcce9283e82eec3fc39ac71b4b5
BLAKE2b-256 checksum
How to use checksums
6335bac8415940bec265c0599bb8f8dd3d1b9a89bc5e434a853da5d1a73287e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.5

Release files / openqemist-0.2.1-py3-none-any.whl

Download URL openqemist-0.2.1-py3-none-any.whl
Size 93.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aea15a7293b4bbabcc79d2a59aba91c98b0d8ee12e34491d103bfe41aad07cdc
BLAKE2b-256 checksum
How to use checksums
417e00625ef2cf08af42e90efe07a11ed53758c8cd4d9eac6ba71d7d4c72b6dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.5

Security for openqemist 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page