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])