Skip to main content

Qiskit Nature PySCF: Third-party integration plugin of Qiskit Nature + PySCF.

Project description

Qiskit Nature PySCF

License

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.primitives import Estimator
from qiskit_algorithms import VQE
from qiskit_algorithms.optimizers import SLSQP
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:

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

qiskit-nature-pyscf-0.3.0.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

qiskit_nature_pyscf-0.3.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file qiskit-nature-pyscf-0.3.0.tar.gz.

File metadata

  • Download URL: qiskit-nature-pyscf-0.3.0.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for qiskit-nature-pyscf-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a800c684c6e5f60bf407e93fb087ac990ec9dbfddfdcbc9bf80d9a4b4a478a00
MD5 8dd891560a7636628446ebca698d34ee
BLAKE2b-256 795a9571f3088919033997f86c5e7caaef9f0cd1352f39471cbbcf5d8d9f97b9

See more details on using hashes here.

File details

Details for the file qiskit_nature_pyscf-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for qiskit_nature_pyscf-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c910d2f19e339508d7195b8e7d53eafd01e7164dd2f5f2cd204c42372c73766
MD5 7ca96cfc27e4c4ecbeb8a75c0b255c53
BLAKE2b-256 df78e472be6e7b588daeb4951c7c6bd1788e4fb89a370711b64427da785e12e8

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