Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK. Go to the latest version.

Chemistry Drivers

qiskit.chemistry.drivers

Qiskit’s 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 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.

Qiskit’s chemistry module offers the option to serialize the Qmolecule data in a binary format known as Hierarchical Data Format 5 (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

BaseDriverBase class for Qiskit’s chemistry drivers.
BosonicDriverBase class for Qiskit’s chemistry bosonic drivers.
FermionicDriverBase class for Qiskit’s chemistry fermionic drivers.

Driver Common

MoleculeDriver-independent Molecule definition.
HFMethodTypeHFMethodType Enum
UnitsTypeUnits Type Enum
BasisTypeBasis Type
InitialGuessInitial 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.

The HDF5Driver reads molecular data from a pre-existing HDF5 file, as saved from a QMolecule, and is not dependent on any external chemistry program/library and needs no special install.

The FCIDumpDriver likewise reads from a pre-existing file in this case a standard FCIDump file and again needs no special install.

Fermionic Drivers

GaussianDriverQiskit chemistry driver using the Gaussian™ 16 program.
PSI4DriverQiskit chemistry driver using the PSI4 program.
PyQuanteDriverQiskit chemistry driver using the PyQuante2 library.
PySCFDriverQiskit chemistry driver using the PySCF library.
HDF5DriverQiskit chemistry driver reading an HDF5 file.
FCIDumpDriverQiskit chemistry driver reading an FCIDump file.

Bosonic Drivers

GaussianForcesDriverGaussian™ 16 forces driver.

General Driver

The GaussianLogDriver allows an arbitrary Gaussian Job Control File to be run and return a GaussianLogResult containing the log as well as ready access certain data of interest that is parsed from the log.

GaussianLogDriverGaussian™ 16 log driver.
GaussianLogResultResult for Gaussian™ 16 log driver.
Was this page helpful?
Report a bug or request content on GitHub.