qml.qchem.gaussian_overlap

gaussian_overlap(la, lb, ra, rb, alpha, beta)[source]

Compute overlap integral for two primitive Gaussian functions.

The overlap integral between two Gaussian functions denoted by \(a\) and \(b\) can be computed as [Helgaker (1995) p803]:

\[S_{ab} = E^{ij} E^{kl} E^{mn} \left (\frac{\pi}{p} \right )^{3/2},\]

where \(E\) is a coefficient that can be computed recursively, \(i-n\) are the angular momentum quantum numbers corresponding to different Cartesian components and \(p\) is computed from the exponents of the two Gaussian functions as \(p = \alpha + \beta\).

Parameters
  • la (integer) – angular momentum for the first Gaussian function

  • lb (integer) – angular momentum for the second Gaussian function

  • ra (float) – position vector of the first Gaussian function

  • rb (float) – position vector of the second Gaussian function

  • alpha (array[float]) – exponent of the first Gaussian function

  • beta (array[float]) – exponent of the second Gaussian function

Returns

overlap integral between primitive Gaussian functions

Return type

array[float]

Example

>>> la, lb = (0, 0, 0), (0, 0, 0)
>>> ra, rb = np.array([0., 0., 0.]), np.array([0., 0., 0.])
>>> alpha = np.array([np.pi/2])
>>> beta = np.array([np.pi/2])
>>> o = gaussian_overlap(la, lb, ra, rb, alpha, beta)
>>> o
array([1.])