paddle_quantum.qchem.drivers

The drivers of the classical quantum chemistry calculation.

class paddle_quantum.qchem.drivers.Driver

Bases: object

run_scf()
property num_modes
property energy_nuc
property mo_coeff
load_molecule()
get_onebody_tensor()
get_twobody_tensor()
class paddle_quantum.qchem.drivers.PySCFDriver

Bases: Driver

Use pyscf to perform classical quantum chemistry calculation.

load_molecule(atom, basis, multiplicity, charge, unit)

construct a pyscf molecule from the given information.

Parameters:
  • atom (List[Tuple[str, List[float]]]) – atom symbol and their coordinate, same format as in Molecule.

  • basis (str) – basis set.

  • multiplicity (int) – spin multiplicity 2S+1.

  • charge (int) – charge of the molecule.

  • unit (str) – Angstrom or Bohr.

run_scf()

perform RHF calculation on the molecule.

property energy_nuc

Potential energy of nuclears.

property mo_coeff

Transformation matrix between atomic orbitals and molecular orbitals.

property num_modes

Number of molecular orbitals.

get_onebody_tensor(integral_type=None)

\(T[p,q] = \int\phi_p^*(x) f(x) \phi_q(x)dx\)

Parameters:

integral_type (str) – the type of integral, e.g. “int1e_ovlp”, “int1e_kin”, etc., see https://github.com/pyscf/pyscf/blob/master/pyscf/gto/moleintor.py for details.

Returns:

np.ndarray.

Return type:

ndarray

get_twobody_tensor()

\(V[p,r,s,q] = \int\phi^*_p(x)\phi^*_r(x')(1/|x-x'|)\phi_s(x')\phi_q(x)dxdx'=(pq|rs)\) in pyscf.