Qiskit Nature PySCF: Third-party integration plugin of Qiskit Nature + PySCF.
Project description
Qiskit Nature PySCF
Qiskit Nature PySCF is a third-party integration plugin of Qiskit Nature + PySCF.
Installation
We encourage installing Qiskit Nature PySCF via the pip tool (a python package manager).
pip install qiskit-nature-pyscf
pip will handle all dependencies automatically and you will always install the latest (and well-tested) version. It will also install Qiskit Nature if needed.
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 PySCF, then you can install from source.
Usage
This plugin couples the APIs of PySCF and Qiskit Nature, enabling a user of PySCF to leverage Quantum-based algorithms implemented in Qiskit to be used in-place of their classical counterparts.
Active Space Calculations
One very common approach is to use a Quantum algorithm to find the ground state in an active space
calculation. To this extent, this plugin provides the QiskitSolver
class, which you can inject
directly into your CASCI
or CASSCF
simulation objects of PySCF.
Below we show a simple example of how to do this.
from pyscf import gto, scf, mcscf
import numpy as np
from qiskit.algorithms.minimum_eigensolvers import VQE
from qiskit.algorithms.optimizers import SLSQP
from qiskit.primitives import Estimator
from qiskit_nature.second_q.algorithms import GroundStateEigensolver
from qiskit_nature.second_q.circuit.library import HartreeFock, UCCSD
from qiskit_nature.second_q.mappers import ParityMapper
from qiskit_nature_pyscf import QiskitSolver
mol = gto.M(atom="Li 0 0 0; H 0 0 1.6", basis="sto-3g")
h_f = scf.RHF(mol).run()
norb = 2
nalpha, nbeta = 1, 1
nelec = nalpha + nbeta
cas = mcscf.CASCI(h_f, norb, nelec)
mapper = ParityMapper(num_particles=(nalpha, nbeta))
ansatz = UCCSD(
norb,
(nalpha, nbeta),
mapper,
initial_state=HartreeFock(
norb,
(nalpha, nbeta),
mapper,
),
)
vqe = VQE(Estimator(), ansatz, SLSQP())
vqe.initial_point = np.zeros(ansatz.num_parameters)
algorithm = GroundStateEigensolver(mapper, vqe)
cas.fcisolver = QiskitSolver(algorithm)
cas.run()
More detailed documentation can be found at Documentation. For more detailed explanations we recommend to check out the documentation of PySCF and Qiskit Nature.
Citation
If you use this plugin, please cite the following references:
- PySCF, as per these instructions.
- Qiskit, as per the provided BibTeX file.
- Qiskit Nature, as per https://doi.org/10.5281/zenodo.7828767
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 qiskit-nature-pyscf-0.2.0.tar.gz
.
File metadata
- Download URL: qiskit-nature-pyscf-0.2.0.tar.gz
- Upload date:
- Size: 16.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e779cb56ee8641a33b63c1435fafa9e47ed83c9293f7a175618c0c7379f50c0b |
|
MD5 | ee7faae13b30b025e9556c94c22c7355 |
|
BLAKE2b-256 | 6e49448c472ac2c5209a49c77ebfa21227ebae73cd8a3bf36020da0f1a81c6de |
File details
Details for the file qiskit_nature_pyscf-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: qiskit_nature_pyscf-0.2.0-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d27359c6ba867c8aff9085fc7a765bd773903dcf17a8d9117b82407554b9799 |
|
MD5 | abcdd895d1fde7c04ec396071260fe07 |
|
BLAKE2b-256 | ff43e8b77eb276f6720f86e3c486707178092f0dcf0c5a5c99602004bc83752d |