Utilities for Gaussian quadrature. This module provides subroutines to obtain zeros and weights of Gauss-Legendre and Gauss-Laguerre quadrature rules.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
logical, | private, | parameter | :: | debug | = | .false. | |
logical, | private | :: | weight_roundoff_correction | = | .false. |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
double precision, | intent(in) | :: | x |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
double precision, | intent(in) | :: | x |
Polynomial for Radau-Gauss quadrature
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
double precision, | intent(in) | :: | x |
Radau-Gauss polynomial derivative
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
double precision, | intent(in) | :: | x |
Returns L_n(x) where L_n(x) is an ordinary Laguerre polynomial
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
double precision, | intent(in) | :: | x |
Returns (-1)**n n! L_n(x) where L_n(x) is an ordinary Laguerre polynomial
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
real, | intent(in) | :: | x |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | |||
double precision, | intent(in) | :: | x |
returns Legendre zeros and weights in the given interval [x1,x2]. The order is determined from the size of the array 'zero'. $ if (abs(sum(wgt)/abs(x2-x1)) - 1.0 > epsilon(wgt)) then $ print *, 'roundoff correction occurred'
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | x1 | |||
real, | intent(in) | :: | x2 | |||
real, | intent(out), | dimension (:) | :: | zero | ||
real, | intent(out), | dimension (:) | :: | wgt |
FIXME : Add documentation
Type | Intent | Optional | 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 |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | x0 | |||
real, | intent(in) | :: | x1 | |||
real, | intent(in), | dimension (:) | :: | zero |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | norm | |||
real, | intent(in), | dimension (:) | :: | wgt |
returns radau zeros and weights in the given interval [x1,x2]. The order is determined from the size of the array 'zero'. Note that the last element of 'zero' and 'wgt' are the fixed lower endpoint -1 in (1,-1] Note also that 'zero'(i) contains the zeros in descending order 1 -> -1 with increasing i
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in) | :: | x1 | |||
real, | intent(in) | :: | x2 | |||
real, | intent(out), | dimension (:) | :: | zero | ||
real, | intent(out), | dimension (:) | :: | wgt | ||
logical, | intent(in), | optional | :: | report_in |
FIXME : Add documentation
Type | Intent | Optional | 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 |
Returns Laguerre zeros and weights. The order is determined from the size of the array 'zero'.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(out), | dimension (:) | :: | zero | ||
real, | intent(out), | dimension (:) | :: | wgt |
FIXME : Add documentation
Type | Intent | Optional | 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 |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (:) | :: | zero |
FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real, | intent(in), | dimension (:) | :: | wgt | ||
real, | intent(in) | :: | eps |