GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis  111
Data Types | Modules | Functions/Subroutines
special_functions.f90 File Reference

Data Types

interface  special_functions_gbl::cfp_gamma_fun
 
interface  special_functions_gbl::cfp_besi
 
interface  special_functions_gbl::cfp_besj
 
interface  special_functions_gbl::cfp_asyik
 
interface  special_functions_gbl::cfp_asyjy
 
interface  special_functions_gbl::cfp_jairy
 
interface  special_functions_gbl::cfp_lngam
 
interface  special_functions_gbl::cfp_9lgmc
 
interface  special_functions_gbl::cfp_initds
 
interface  special_functions_gbl::cfp_csevl
 
interface  special_functions_gbl::cfp_binom
 
interface  special_functions_gbl::cfp_gamlm
 
interface  special_functions_gbl::cfp_gamma_slatec
 
interface  special_functions_gbl::cfp_lnrel
 
interface  special_functions_gbl::cfp_9gmic
 
interface  special_functions_gbl::cfp_9gmit
 
interface  special_functions_gbl::cfp_9lgic
 
interface  special_functions_gbl::cfp_9lgit
 
interface  special_functions_gbl::cfp_gamic
 
interface  special_functions_gbl::cfp_lgams
 
interface  special_functions_gbl::cfp_eval_poly_horner
 

Modules

module  special_functions_gbl
 

Functions/Subroutines

elemental integer function, public special_functions_gbl::ipair (i)
 This function is used to index an ordered pair of values (i,j), where i .ge. j, i .ge. 1. The index of the ordered pair is: ipair(i) + j. This process of indexing can be used in a nested way to index quartets of integers, say (i,j,k,l). We compute ij = ipair(i)+j and kl = ipair(k)+l. The index of the quartet (i,j,k,l) is: ipair(ij)+kl. We assume that i.ge.j, k.ge.l, ij.ge.kl. This nesting (triangularization) is used heavilly to index the 2-particle symmetric integrals. More...
 
subroutine, public special_functions_gbl::unpack_pq (pq, n, p, q)
 Assuming \( pq = p + (q-1)*n \) this routine returns p,q given pq,n. More...
 
subroutine, public special_functions_gbl::cfp_nlm (INorm, L)
 
subroutine, public special_functions_gbl::cfp_resh (SH, X, Y, Z, L)
 
subroutine, public special_functions_gbl::cfp_solh (SH, x, y, z, L)
 
subroutine, public special_functions_gbl::cfp_zhar (SH, X, Y, Z, L)
 
real(kind=ep1) function, dimension(1:mmax+1), public special_functions_gbl::boys_function_quad (T, mmax)
 Quadruple precision version of boys_function. See boys_function for details on the method of evaluation. More...
 
elemental integer function special_functions_gbl::dfact (n)
 Computes the double factorial \((n)!!\) of the integer number n. n must be .ge. -1. More...
 
real(kind=cfp) function special_functions_gbl::cfp_eval_poly_horner_single (n, x, a)
 This function evaluates a polynomial of degree \(n\) at point \(x\) using the Horner form for polynomials. More...
 
subroutine, public special_functions_gbl::cfp_eval_poly_horner_many (n, x, n_x, a, res)
 This subroutine evaluates a set of polynomials of degree \(n\) at a number of points \(x\) using the Horner form for polynomials. More...
 
subroutine, public special_functions_gbl::cfp_sph_to_cart_mapping (l, m, c, i_exp, j_exp, k_exp)
 This routine constructs for a given real solid harmonic L,M the list of cartesian functions which build up this real solid harmonic. On output the array c(:) contains the coefficients with which the individual cartesians contribute to the solid harmonic. Exponents of the cartesians are then given in the arrays i_exp,j_exp,k_exp. More...
 
subroutine, public special_functions_gbl::cfp_sph_shell_to_cart_shell (l, c)
 This routine constructs for a given real solid harmonic L the matrix of coefficients for all M of the transformation from the cartesian harmonics (~x^i*y^j*z^k, i+j+k=L). On output the linear array c(:) emulates 2D matrix with 2*L+1 rows and (L+1)*(L+2)/2 columns. The rows of c correspond to the M values: -L,-L+1,...,0,1,...,L.
The coefficients in each row are ordered so that the n-th coefficient in the given row of c corresponds to the coefficient for the cartesian harmonic with the shell canonical index n. More...
 
subroutine, public special_functions_gbl::cfp_sph_shell_to_cart_lshells (l, nz, c_nz, nz_can)
 This routine constructs for all real solid harmonic with L .le. l the matrix of coefficients for all M of the transformation from the cartesian harmonics (~x^i*y^j*z^k, i+j+k=L). On output the linear array c(:) emulates 2D matrix with 2*L+1 rows and (L+1)*(L+2)/2 columns. The rows of c correspond to the M values: -L,-L+1,...,0,1,...,L.
The coefficients in each row are ordered so that the n-th coefficient in the given row of c corresponds to the coefficient for the cartesian harmonic with the shell canonical index n. More...