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