qml.qchem.gaussian_moment

gaussian_moment(li, lj, ri, rj, alpha, beta, order, r)[source]

Compute the one-dimensional multipole moment integral for two primitive Gaussian functions.

The multipole moment integral in one dimension is defined as

\[S_{ij}^e = \left \langle G_i | q^e | G_j \right \rangle,\]

where \(G\) is a Gaussian function at dimension \(q = x, y, z\) of the Cartesian coordinates system and \(e\) is a positive integer that is represented by the order argument. The integrals can be evaluated as [Helgaker (1995) p803]

\[S_{ij}^e = \sum_{t=0}^{\mathrm{min}(i+j, \ e)} E_t^{ij} M_t^e,\]

where \(E\) and \(M\) are the Hermite Gaussian expansion coefficient and the Hermite moment integral, respectively, that can be computed recursively.

Parameters
  • li (integer) – angular momentum for the left Gaussian function

  • lj (integer) – angular momentum for the right Gaussian function

  • ri (float) – position of the left Gaussian function

  • rj (float) – position of the right Gaussian function

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

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

  • order (integer) – exponent of the position component

  • r (array[float]) – distance between the center of the Hermite Gaussian function and origin

Returns

one-dimensional multipole moment integral between primitive Gaussian functions

Return type

array[float]

Example

>>> li, lj = 0, 0
>>> ri, rj = np.array([2.0]), np.array([2.0])
>>> alpha = np.array([3.42525091])
>>> beta = np.array([3.42525091])
>>> order = 1
>>> r = 1.5
>>> gaussian_moment(li, lj, ri, rj, alpha, beta, order, r)
array([1.0157925])