qml.qchem.hermite_moment

hermite_moment(alpha, beta, t, order, r)[source]

Compute the Hermite moment integral recursively.

The Hermite moment integral in one dimension is defined as

\[M_{t}^{e} = \int_{-\infty }^{+\infty} q^e \Lambda_t dq,\]

where \(e\) is a positive integer, that is represented by the order argument, \(q = x, y, z\) is the coordinate at which the integral is evaluatedand and \(\Lambda_t\) is the \(t\) component of the Hermite Gaussian function. The integral can be computed recursively as [Helgaker (1995) p802]

\[M_{t}^{e+1} = t M_{t-1}^{e} + Q M_{t}^{e} + \frac{1}{2p} M_{t+1}^{e},\]

where \(Q\) is the distance between the center of the Hermite Gaussian function and the origin, at dimension \(q = x, y, z\) of the Cartesian coordinates system.

This integral is zero for \(t > e\) and the base case solution is

\[M_t^0 = \delta _{t0} \sqrt{\frac{\pi}{p}},\]

where \(p = \alpha + \beta\) and \(\alpha, \beta\) are the exponents of the Gaussian functions that construct the Hermite Gaussian function \(\Lambda\).

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

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

  • t (integer) – order of the Hermite Gaussian function

  • order (integer) – exponent of the position component

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

Returns

the Hermite moment integral

Return type

array[float]

Example

>>> alpha = np.array([3.42525091])
>>> beta = np.array([3.42525091])
>>> t = 0
>>> order = 1
>>> r = 1.5
>>> hermite_moment(alpha, beta, t, order, r)
array([1.0157925])