qiskit-documentation/docs/api/qiskit/0.26/qiskit.chemistry.drivers.mdx

90 lines
7.9 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: drivers (v0.26)
description: API reference for qiskit.chemistry.drivers in qiskit v0.26
in_page_toc_min_heading_level: 2
python_api_type: module
python_api_name: qiskit.chemistry.drivers
---
<span id="module-qiskit.chemistry.drivers" />
<span id="qiskit-chemistry-drivers" />
<span id="chemistry-drivers-qiskit-chemistry-drivers" />
# Chemistry Drivers
`qiskit.chemistry.drivers`
Qiskits chemistry module requires a computational chemistry program or library, accessed via a chemistry *driver*, to be installed on the system for the electronic-structure computation of a given molecule. A driver is created with a molecular configuration, passed in the format compatible with that particular driver. This allows custom configuration specific to each computational chemistry program or library to be passed.
The chemistry module thus allows the user to configure a chemistry problem in a way that a chemist already using the underlying chemistry program or library will be familiar with. The driver is used to compute some intermediate data, which later will be used to form the input to an Aqua algorithm. Such intermediate data, is populated into a [`QMolecule`](qiskit.chemistry.QMolecule "qiskit.chemistry.QMolecule") object and includes the following for example:
1. One- and two-body integrals in Molecular Orbital (MO) basis
2. Dipole integrals
3. Molecular orbital coefficients
4. Hartree-Fock energy
5. Nuclear repulsion energy
Once extracted, the structure of this intermediate data is independent of the driver that was used to compute it. However the values and level of accuracy of such data will depend on the underlying chemistry program or library used by the specific driver.
Qiskits chemistry module offers the option to serialize the Qmolecule data in a binary format known as [Hierarchical Data Format 5 (HDF5)](https://www.ogc.org/standard/hdf5/). This is done to allow chemists to reuse the same input data in the future and to enable researchers to exchange input data with each other — which is especially useful to researchers who may not have particular computational chemistry drivers installed on their computers.
# Driver Base Class
| | |
| -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| [`BaseDriver`](qiskit.chemistry.drivers.BaseDriver "qiskit.chemistry.drivers.BaseDriver") | Base class for Qiskits chemistry drivers. |
| [`BosonicDriver`](qiskit.chemistry.drivers.BosonicDriver "qiskit.chemistry.drivers.BosonicDriver") | Base class for Qiskits chemistry bosonic drivers. |
| [`FermionicDriver`](qiskit.chemistry.drivers.FermionicDriver "qiskit.chemistry.drivers.FermionicDriver") | Base class for Qiskits chemistry fermionic drivers. |
# Driver Common
| | |
| ----------------------------------------------------------------------------------------------- | --------------------------------------- |
| [`Molecule`](qiskit.chemistry.drivers.Molecule "qiskit.chemistry.drivers.Molecule") | Driver-independent Molecule definition. |
| [`HFMethodType`](qiskit.chemistry.drivers.HFMethodType "qiskit.chemistry.drivers.HFMethodType") | HFMethodType Enum |
| [`UnitsType`](qiskit.chemistry.drivers.UnitsType "qiskit.chemistry.drivers.UnitsType") | Units Type Enum |
| [`BasisType`](qiskit.chemistry.drivers.BasisType "qiskit.chemistry.drivers.BasisType") | Basis Type |
| [`InitialGuess`](qiskit.chemistry.drivers.InitialGuess "qiskit.chemistry.drivers.InitialGuess") | Initial Guess Enum |
# Drivers
The drivers in the chemistry module obtain their information from classical ab-initio programs or libraries. Several drivers, interfacing to common programs and libraries, are available. To use the driver its dependent program/library must be installed. See the relevant installation instructions below for your program/library that you intend to use.
* [Gaussian™ 16 Installation](qiskit.chemistry.drivers.gaussiand)
* [PSI4 Installation](qiskit.chemistry.drivers.psi4d)
* [PyQuante Installation](qiskit.chemistry.drivers.pyquanted)
* [PYSCF Installation](qiskit.chemistry.drivers.pyscfd)
The [`HDF5Driver`](qiskit.chemistry.drivers.HDF5Driver "qiskit.chemistry.drivers.HDF5Driver") reads molecular data from a pre-existing HDF5 file, as saved from a [`QMolecule`](qiskit.chemistry.QMolecule "qiskit.chemistry.QMolecule"), and is not dependent on any external chemistry program/library and needs no special install.
The [`FCIDumpDriver`](qiskit.chemistry.drivers.FCIDumpDriver "qiskit.chemistry.drivers.FCIDumpDriver") likewise reads from a pre-existing file in this case a standard FCIDump file and again needs no special install.
# Fermionic Drivers
| | |
| ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| [`GaussianDriver`](qiskit.chemistry.drivers.GaussianDriver "qiskit.chemistry.drivers.GaussianDriver") | Qiskit chemistry driver using the Gaussian™ 16 program. |
| [`PSI4Driver`](qiskit.chemistry.drivers.PSI4Driver "qiskit.chemistry.drivers.PSI4Driver") | Qiskit chemistry driver using the PSI4 program. |
| [`PyQuanteDriver`](qiskit.chemistry.drivers.PyQuanteDriver "qiskit.chemistry.drivers.PyQuanteDriver") | Qiskit chemistry driver using the PyQuante2 library. |
| [`PySCFDriver`](qiskit.chemistry.drivers.PySCFDriver "qiskit.chemistry.drivers.PySCFDriver") | Qiskit chemistry driver using the PySCF library. |
| [`HDF5Driver`](qiskit.chemistry.drivers.HDF5Driver "qiskit.chemistry.drivers.HDF5Driver") | Qiskit chemistry driver reading an HDF5 file. |
| [`FCIDumpDriver`](qiskit.chemistry.drivers.FCIDumpDriver "qiskit.chemistry.drivers.FCIDumpDriver") | Qiskit chemistry driver reading an FCIDump file. |
# Bosonic Drivers
| | |
| ----------------------------------------------------------------------------------------------------------------------- | --------------------------- |
| [`GaussianForcesDriver`](qiskit.chemistry.drivers.GaussianForcesDriver "qiskit.chemistry.drivers.GaussianForcesDriver") | Gaussian™ 16 forces driver. |
# General Driver
The [`GaussianLogDriver`](qiskit.chemistry.drivers.GaussianLogDriver "qiskit.chemistry.drivers.GaussianLogDriver") allows an arbitrary Gaussian Job Control File to be run and return a [`GaussianLogResult`](qiskit.chemistry.drivers.GaussianLogResult "qiskit.chemistry.drivers.GaussianLogResult") containing the log as well as ready access certain data of interest that is parsed from the log.
| | |
| -------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| [`GaussianLogDriver`](qiskit.chemistry.drivers.GaussianLogDriver "qiskit.chemistry.drivers.GaussianLogDriver") | Gaussian™ 16 log driver. |
| [`GaussianLogResult`](qiskit.chemistry.drivers.GaussianLogResult "qiskit.chemistry.drivers.GaussianLogResult") | Result for Gaussian™ 16 log driver. |