openvqe
Quantum computing algorithms and applications package. Please check our article https://doi.org/10.1002/wcms.1664. Do you want to contribute? Fork the project, create a pull request directed to the alpha branch of the repo.
Science Score: 57.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 4 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.3%) to scientific vocabulary
Repository
Quantum computing algorithms and applications package. Please check our article https://doi.org/10.1002/wcms.1664. Do you want to contribute? Fork the project, create a pull request directed to the alpha branch of the repo.
Basic Info
Statistics
- Stars: 31
- Watchers: 4
- Forks: 17
- Open Issues: 2
- Releases: 1
Metadata Files
README.md
OpenVQE: README
OpenVQE is an open-source extension of the Variational Quantum Eigensolver (VQE) for quantum chemistry, building on the Quantum Learning Machine (QLM) and developed using tools from myqlm-fermion. It enhances QLM's capabilities in quantum chemistry computations. This repository produce quantum computing applications. Please follows us as there will be more and more applications to coming.
Key Publication
For a comprehensive overview, refer to the main OpenVQE paper:
Open Source Variational Quantum Eigensolver Extension of the Quantum Learning Machine (QLM) for Quantum Chemistry.
M. Haidar, M. J. Rančić, T. Ayral, Y. Maday, J.-P. Piquemal, WIREs Comp. Mol. Sci., 2023, e1664 (Open Access)
DOI: 10.1002/wcms.1664
Modules
UCC Family: this module consists of different classes and functions to generate the fermionic cluster operators (fermionic pool) and the qubit pools and to get the optimized energies from VQE in the case of active and non-active orbital selections. For example, UCCSD, QUCCSD, UCCGSD, K-UpCCGSD, spin-complemented pair, singlet and doublet generalized single and double excitations, etc.
ADAPT: Contains two sub-modules:
- Fermionic-ADAPT: it contains functions that performs the fermionic ADAPT-VQE algorthmic steps in the active and non-active space selections.
- Qubit-ADAPT: it contains functions that perform the Qubit ADAPT-VQE algorithmic steps calculation in the active and non-active space orbital selections.
Applications: Contains practical quantum computing applications:
- quantum_batteries: Simulation of lithium-ion batteries on quantum computer.
Algorithms: Wrapper to compute use VQE on selected molecules using selected method. Available methods are:
- Fermionic adapt: Implements the fermionic ADAPT-VQE algorithm.
- Qubit adapt: Implements the qubit ADAPT-VQE algorithm.
- QUCCSD: Implements the qubit unitary coupled cluster with single and double excitations algorithm.
- UCC: Implements the unitary coupled cluster algorithm.
ucc_family: This module compute the energy of the UCC or QUCC circuit.
Installation
OpenVQE can only be installed on a linux distribution because of its depencies with pyscf and cuda-quantum. If you are on windows or mac, use docker, wsl or a virtual machine to create a linux environment.
To install OpenVQE from source:
bash
git clone https://github.com/OpenVQE/OpenVQE.git
cd OpenVQE
pip install .
pip install -r requirements.txt
To explore the quantum battery application, you will need to install CUDA and have an NVIDIA GPU. For detailed instructions, refer to the NVIDIA CUDA Quantum GitHub page.
Troubleshooting
If you have a problem with the installation we recommand using conda:
```shell conda create --name openvqe python=3.11 conda activate openvqe
Repeat the installation steps above
git clone https://github.com/OpenVQE/OpenVQE.git cd OpenVQE pip install . pip install -r requirements.txt ```
To explore the quantum battery application, you will need to install CUDA and have an NVIDIA GPU. For detailed instructions, refer to the NVIDIA CUDA Quantum GitHub page. If you want to install it on linux do:
shell
sudo apt update && sudo apt upgrade -y
sudo apt install cuda-11-8 -y
If you have the error: Qiskit is installed in an invalid environment that has both Qiskit >=1.0 and an earlier version.. Run the command: pip uninstall qiskit-terra inside your terminal.
Contributing to the Package
Please read the CONTRIBUTING.md file.
Getting started
Video tutorial
Please checkout the lecture of Dr. Mohammad Haidar on how to use openVQE: https://www.youtube.com/watch?v=NkRFcn4LuNs.
Notebook
Tutorials are stored inside jupyter notebooks in the "notebooks" folder. These notebooks contains examples of code using openVQE that you can run locally. The lithium battery application also has an dedicated notebooks.
Documentation
The code is based on the well documented code of myqlm-fermion framework link.
The main functions are documented in the code base.
For more information, please refer to our paper:
Open Source Variational Quantum Eigensolver Extension of the Quantum Learning Machine (QLM) for Quantum Chemistry. M. Haidar, M. J. Rančić, T. Ayral, Y. Maday, J.-P. Piquemal, WIREs Comp. Mol. Sci., 2023, e1664 (Open Access) DOI: 10.1002/wcms.1664
How to cite
Mohammad Haidar, Marko J. Ranˇci´c, Thomas Ayral, Yvon Maday, and Jean-Philip Piquemal. Open source variational quantum eigensolver extension of the quantum learning machine for quantum chemistry. WIREs Computational Molecular Science, page e1664, 2023
Getting in touch
For any questions regarding OpenVQE or related research, contact: mohammadhaidar2016@outlook.com.
License
OpenVQE is created by Mohammad Haidar and licensed under the MIT License.
References
- Nooijen, Marcel. "Can the eigenstates of a many-body hamiltonian be represented exactly using a general two-body cluster expansion?." Physical review letters 84.10 (2000): 2108.
- Lee, Joonho, et al. "Generalized unitary coupled cluster wave functions for quantum computation." Journal of chemical theory and computation 15.1 (2018): 311-324.
- Grimsley, Harper R., et al. "An adaptive variational algorithm for exact molecular simulations on a quantum computer." Nature communications 10.1 (2019): 1-9.
- Tang, Ho Lun, et al. "qubit-adapt-vqe: An adaptive algorithm for constructing hardware-efficient ansätze on a quantum processor." PRX Quantum 2.2 (2021): 020310.
- Xia, Rongxin, and Sabre Kais. "Qubit coupled cluster singles and doubles variational quantum eigensolver ansatz for electronic structure calculations." Quantum Science and Technology 6.1 (2020): 015001.
- Shkolnikov, V. O., et al. "Avoiding symmetry roadblocks and minimizing the measurement overhead of adaptive variational quantum eigensolvers." arXiv preprint arXiv:2109.05340 (2021).
Owner
- Name: OpenVQE
- Login: OpenVQE
- Kind: organization
- Repositories: 1
- Profile: https://github.com/OpenVQE
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." author: - family-names: "Haidar" given-names: "Mohammad" orcid: "https://orcid.org/0000-0003-2216-0702" title: "Research work OpenVQE package with myqlm-fermion tools" version: 2.0.4 doi: xxx/xxxx date-released: 2022-06-01 url: "https://github.com/OpenVQE/OpenVQE.git"
GitHub Events
Total
- Watch event: 14
- Issue comment event: 5
- Member event: 4
- Push event: 23
- Pull request event: 41
- Fork event: 9
- Create event: 4
Last Year
- Watch event: 14
- Issue comment event: 5
- Member event: 4
- Push event: 23
- Pull request event: 41
- Fork event: 9
- Create event: 4
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 8
- Average time to close issues: N/A
- Average time to close pull requests: about 1 month
- Total issue authors: 0
- Total pull request authors: 3
- Average comments per issue: 0
- Average comments per pull request: 0.5
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 8
- Average time to close issues: N/A
- Average time to close pull requests: about 1 month
- Issue authors: 0
- Pull request authors: 3
- Average comments per issue: 0
- Average comments per pull request: 0.5
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- hosen20 (1)
Pull Request Authors
- Cail626 (20)
- Haidarmm (2)
- sandro7202004 (1)
- marc-younes4 (1)
- jppiquem (1)
- Cobord (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- myqlm-fermion *
- openfermion ==1.5.1
- pyscf ==2.1.1