Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

qiskit.chemistry.drivers.PySCFDriver

class PySCFDriver(atom='H 0.0 0.0 0.0; H 0.0 0.0 0.735', unit=<UnitsType.ANGSTROM: 'Angstrom'>, charge=0, spin=0, basis='sto3g', hf_method=<HFMethodType.RHF: 'rhf'>, conv_tol=1e-09, max_cycle=50, init_guess=<InitialGuess.MINAO: 'minao'>, max_memory=None, molecule=None)

GitHub

Qiskit chemistry driver using the PySCF library.

See https://pyscf.org/index.html

Parameters

  • atom (Union[str, List[str]]) – Atom list or string separated by semicolons or line breaks. Each element in the list is an atom followed by position e.g. H 0.0 0.0 0.5. The preceding example shows the XYZ format for position but Z-Matrix format is supported too here.
  • unit (UnitsType) – Angstrom or Bohr
  • charge (int) – Charge on the molecule
  • spin (int) – Spin (2S), in accordance with how PySCF defines a molecule in pyscf.gto.mole.Mole
  • basis (str) – Basis set
  • hf_method (HFMethodType) – Hartree-Fock Method type
  • conv_tol (float) – Convergence tolerance see PySCF docs and pyscf/scf/hf.py
  • max_cycle (int) – Max convergence cycles see PySCF docs and pyscf/scf/hf.py, has a min. value of 1.
  • init_guess (InitialGuess) – See PySCF pyscf/scf/hf.py init_guess_by_minao/1e/atom methods
  • max_memory (Optional[int]) – Maximum memory that PySCF should use
  • molecule (Optional[Molecule]) – A driver independent Molecule definition instance may be provided. When a molecule is supplied the atom, unit, charge and spin parameters are all ignored as the Molecule instance now defines these instead. The Molecule object is read when the driver is run and converted to the driver dependent configuration for the computation. This allows, for example, the Molecule geometry to be updated to compute different points.

Raises

QiskitChemistryError – Invalid Input

__init__

__init__(atom='H 0.0 0.0 0.0; H 0.0 0.0 0.735', unit=<UnitsType.ANGSTROM: 'Angstrom'>, charge=0, spin=0, basis='sto3g', hf_method=<HFMethodType.RHF: 'rhf'>, conv_tol=1e-09, max_cycle=50, init_guess=<InitialGuess.MINAO: 'minao'>, max_memory=None, molecule=None)

Parameters

  • atom (Union[str, List[str]]) – Atom list or string separated by semicolons or line breaks. Each element in the list is an atom followed by position e.g. H 0.0 0.0 0.5. The preceding example shows the XYZ format for position but Z-Matrix format is supported too here.
  • unit (UnitsType) – Angstrom or Bohr
  • charge (int) – Charge on the molecule
  • spin (int) – Spin (2S), in accordance with how PySCF defines a molecule in pyscf.gto.mole.Mole
  • basis (str) – Basis set
  • hf_method (HFMethodType) – Hartree-Fock Method type
  • conv_tol (float) – Convergence tolerance see PySCF docs and pyscf/scf/hf.py
  • max_cycle (int) – Max convergence cycles see PySCF docs and pyscf/scf/hf.py, has a min. value of 1.
  • init_guess (InitialGuess) – See PySCF pyscf/scf/hf.py init_guess_by_minao/1e/atom methods
  • max_memory (Optional[int]) – Maximum memory that PySCF should use
  • molecule (Optional[Molecule]) – A driver independent Molecule definition instance may be provided. When a molecule is supplied the atom, unit, charge and spin parameters are all ignored as the Molecule instance now defines these instead. The Molecule object is read when the driver is run and converted to the driver dependent configuration for the computation. This allows, for example, the Molecule geometry to be updated to compute different points.

Raises

QiskitChemistryError – Invalid Input


Methods

__init__([atom, unit, charge, spin, basis, …])type atomUnion[str, List[str]]
run()Runs driver to produce a QMolecule output.

Attributes

basisreturn basis
hf_methodreturn Hartree-Fock method
moleculereturn molecule
supports_moleculeTrue for derived classes that support Molecule.

basis

return basis

Return type

str

hf_method

return Hartree-Fock method

Return type

str

molecule

return molecule

Return type

Optional[Molecule]

run

run()

Runs driver to produce a QMolecule output.

Return type

QMolecule

Returns

A QMolecule containing the molecular data.

supports_molecule

True for derived classes that support Molecule.

Return type

bool

Returns

True if Molecule is supported.

Was this page helpful?
Report a bug or request content on GitHub.