# qml.qchem.gaussian_kinetic¶

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

Compute the kinetic integral for two primitive Gaussian functions.

The kinetic integral between two Gaussian functions denoted by $$a$$ and $$b$$ is computed as [Helgaker (1995) p805]:

$T_{ab} = -\frac{1}{2} \left ( D_{ij}^2 D_{kl}^0 D_{mn}^0 + D_{ij}^0 D_{kl}^2 D_{mn}^0 + D_{ij}^0 D_{kl}^0 D_{mn}^2\right ),$

where $$D_{ij}^0 = S_{ij}^0$$ is an overlap integral and $$D_{ij}^2$$ is computed from overlap integrals $$S$$ and the Gaussian exponent $$\beta$$ as

$D_{ij}^2 = j(j-1)S_{i,j-2}^0 - 2\beta(2j+1)S_{i,j}^0 + 4\beta^2 S_{i,j+2}^0.$
Parameters
• la (tuple[int]) – angular momentum for the first Gaussian function

• lb (tuple[int]) – angular momentum for the second Gaussian function

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

• rb (array[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

kinetic integral between two Gaussian functions

Return type

array[float]

Example

>>> la, lb = (0, 0, 0), (0, 0, 0)
>>> ra = np.array([0., 0., 0.])
>>> rb = rb = np.array([0., 0., 0.])
>>> alpha = np.array([np.pi/2])
>>> beta = np.array([np.pi/2])
>>> t = gaussian_kinetic(la, lb, ra, rb, alpha, beta)
>>> t
array([2.35619449])


Using PennyLane

Development

API

Internals