gauss_quad Module


Variables

Type Visibility Attributes Name Initial
logical, private :: debug = .false.
logical, private :: weight_roundoff_correction = .false.
integer, private, parameter :: qp = selected_real_kind(33, 4931)

Functions

private elemental function legendre_p(n, x)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
double precision, intent(in) :: x

Return Value double precision

private elemental function legendre_pp(n, x)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
double precision, intent(in) :: x

Return Value double precision

private elemental function laguerre_l(n, x)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
real(kind=qp), intent(in) :: x

Return Value real(kind=qp)

private elemental function laguerre_lp(n, x)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
real(kind=qp), intent(in) :: x

Return Value real(kind=qp)


Subroutines

public subroutine get_legendre_grids_from_cheb(x1, x2, zero, wgt)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: x1
real, intent(in) :: x2
real, intent(out), dimension(:) :: zero
real, intent(out), dimension(:) :: wgt

private subroutine find_zero_bisect_newton(n, xold, xnew, pold, pnew, zz)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
double precision, intent(in) :: xold
double precision, intent(in) :: xnew
double precision, intent(in) :: pold
double precision, intent(in) :: pnew
double precision, intent(out) :: zz

private subroutine check_legendre_zero(x0, x1, zero)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: x0
real, intent(in) :: x1
real, intent(in), dimension(:) :: zero

private subroutine check_legendre_weights(norm, wgt)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: norm
real, intent(in), dimension(:) :: wgt

public subroutine get_laguerre_grids(zero, wgt)

Arguments

Type IntentOptional Attributes Name
real, intent(out), dimension(:) :: zero
real, intent(out), dimension(:) :: wgt

private subroutine find_zero(n, eps, xold, xnew, pold, pnew, zz)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
double precision, intent(in) :: eps
real(kind=qp), intent(in) :: xold
real(kind=qp), intent(in) :: xnew
real(kind=qp), intent(in) :: pold
real(kind=qp), intent(in) :: pnew
real(kind=qp), intent(out) :: zz

private subroutine check_laguerre_zeros(zero)

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(:) :: zero

private subroutine check_laguerre_weights(wgt, eps)

Arguments

Type IntentOptional Attributes Name
real, intent(in), dimension(:) :: wgt
real, intent(in) :: eps