**gaussquad** is a Fortran 90 module for the calculation of
Gaussian quadrature rules.

An \( n \)-point quadrature rule is a set of \( n \) abscissas \(x_i\)
and weights \(w_i \ge 0\) which can be used to
approximate integrals according to the prescription \[ \int_a^b W(x)
f(x) d x \approx \sum_{i=1}^n w_i \, f(x_i) \,, \] where \( W(x) \) is
a positive semidefinite weight function. A Gaussian quadrature rule
specifies \( x_i \) and \( w_i \) such that the above approximation is
exact when \( f(x) \) is a polynomial of degree \( \leq 2n-1 \).

**gaussquad** is a simple library for calculating such
quadrature rules for weight functions \( W(x) \) corresponding to
classical orthogonal polynomials. It currently includes Legendre \( (W(x)
= 1) \), Hermite \( (W(x) = e^{-x^2}) \) and Associated Laguerre \( (W(x)
= x^{\alpha} e^{-x}) \) weight functions. More such weight functions can
be very easily added: all you need to know is the three-term recurrence
relation for the corresponding polynomials and the quantity \(
\int_a^bW(x) dx \).

Version 1.0: gaussquad.f90

Example program: testquad.f90

Example output: testquad.ref

G. H. Golub and
J. H. Welsch, Math. Comp.
23, 221 (1969)

NIST Digital Library of Mathematical
Functions, Ch. 3.5
and Ch. 18.9

John Cook's simple
introduction to Gaussian Quadrature