## Documentation for module eri_mme_gaussian

Methods related to properties of Hermite and Cartesian Gaussian functions.

source: eri_mme_gaussian.F

#### public Subroutines/Functions:

Expand 1d product of cartesian (or hermite) gaussians into single hermite gaussians: Find E_t^{lm} s.t. F(l, a, r-R1) * F(m, b, r-R2) = sum_{t=0}^{l+m} E_t^{lm} H(t, p, r-R_P) with p = a + b, R_P = (a*R1 + b*R2)/p. The function F can be either Cartesian Gaussian or Hermite Gaussian.
Create matrix to transform between cartesian and hermite gaussian basis functions.
Get minimax coefficient a_i and w_i for approximating 1/G^2 by sum_i w_i exp(-a_i G^2)
hermite_gauss_norm (zet, l)
Norm of 1d Hermite-Gauss functions

#### PURE SUBROUTINEcreate_gaussian_overlap_dist_to_hermite(l, m, a, b, r1, r2, h_or_c_product, e)^

Expand 1d product of cartesian (or hermite) gaussians into single hermite gaussians: Find E_t^{lm} s.t. F(l, a, r-R1) * F(m, b, r-R2) = sum_{t=0}^{l+m} E_t^{lm} H(t, p, r-R_P) with p = a + b, R_P = (a*R1 + b*R2)/p. The function F can be either Cartesian Gaussian or Hermite Gaussian.

##### Arguments:
 INTEGER, INTENT(in) :: l ... INTEGER, INTENT(in) :: m ... REAL(dp), INTENT(in) :: a ... REAL(dp), INTENT(in) :: b ... REAL(dp), INTENT(in) :: r1 ... REAL(dp), INTENT(in) :: r2 ... INTEGER, INTENT(in) :: h_or_c_product 1: cartesian product, 2: hermite product REAL(dp), INTENT(out) :: e(-1:l+m+1,-1:l,-1:m) ...

#### PURE SUBROUTINEcreate_hermite_to_cartesian(zet, l_max, h_to_c)^

Create matrix to transform between cartesian and hermite gaussian basis functions.

##### Arguments:
 REAL(dp), INTENT(in) :: zet exponent INTEGER, INTENT(in) :: l_max ... REAL(dp), INTENT(out), ALLOCATABLE :: h_to_c(:,:) transformation matrix with dimensions (0:l_max, 0:l_max)

#### SUBROUTINEget_minimax_coeff_v_gspace(n_minimax, cutoff, g_min, minimax_aw, err_minimax)^

Get minimax coefficient a_i and w_i for approximating 1/G^2 by sum_i w_i exp(-a_i G^2)

##### Arguments:
 INTEGER, INTENT(in) :: n_minimax Number of minimax terms REAL(dp), INTENT(in) :: cutoff Plane Wave cutoff REAL(dp), INTENT(in) :: g_min Minimum absolute value of G REAL(dp), INTENT(out) :: minimax_aw(:) Minimax coefficients a_i, w_i REAL(dp), INTENT(out), OPTIONAL :: err_minimax Maximum error MAX (|1/G^2-\sum_i w_i exp(-a_i G^2)|)

#### PURE FUNCTIONhermite_gauss_norm(zet, l)^

Norm of 1d Hermite-Gauss functions

 Return Value :: REAL(dp)
##### Arguments:
 REAL(dp), INTENT(in) :: zet ... INTEGER, INTENT(in) :: l(3) ...