The following is a brief description of the individual files of the package.
It is modified from the corresponding file in TOMS algorithm 726.
Only `double precision' versions have been in module orthpol, though some
of the single-precision versions can be found in file sorthpol.f90 or
in test11.f90.


1. Routines absorbed into module ORTHPOL.F90

 recur.f    a subroutine generating the recursion coefficients of
            classical orthogonal polynomials.
 drecur.f   a double-precision version of  recur.f

 cheb.f     a subroutine implementing the modified Chebyshev algorithm
 dcheb.f    a double-precision version of  cheb.f

 sti.f      a subroutine generating the recursion coefficients of
            discrete orthogonal polynomials by Stieltjes's procedure
 dsti.f     a double-precision version of  sti.f

 lancz.f    a subroutine generating the recursion coefficients of
            discrete orthogonal polynomials by Lanczos's algorithm
 dlancz.f   a double-precision version of  lancz.f

 mcdis.f    a subroutine computing the recursion coefficients (to a given
            degree of approximation) of continuous and mixed-type orthogonal
            polynomials by means of a multi-component discretization procedure
 dmcdis.f   a double-precision version of  mcdis.f

 qgp.f      a general-purpose quadrature routine for use in  mcdis.f
            or in mccheb.f

 dqgp.f     a general-purpose quadrature routine for use in  dmcdis.f
            or in dmcheb.f

 mccheb.f   a subroutine implementing the discretized modified Chebyshev
            algorithm whereby modified moments are approximated by discrete
            modified moments
 dmcheb.f   a double-precision version of  mccheb.f

 chri.f     a subroutine for computing the recursion coefficients of
            polynomials orthogonal with respect to a weight function obtained
            by a linear or quadratic modification of a given weight function
 dchri.f    a double-precision version of  chri.f

 knum.f     a subroutine which applies a backward recurrence algorithm
            to generate weighted integrals of orthogonal polynomials
            multiplied by a Cauchy kernel
 nu0jac.f   auxiliary routines providing an estimate for the starting
 nu0lag.f   index in the backward recurrence algorithm of  knum.f  for
 nu0her.f   respectively the Jacobi, Laguerre and Hermite weights
 dknum.f    a double-precision version of  knum.f

 kern.f     a subroutine generating the kernels in the remainder term
            of Gauss quadrature rules applied to analytic functions
 dkern.f    a double-precision version of  kern.f

 gchri.f    an alternative subroutine (to chri.f) for computing the
            recursion coefficients of polynomials orthogonal with
            with respect to a weight function obtained by dividing a
            given weight function by a linear or quadratic factor
 dgchri.f   a double-precision version of  gchri.f

 gauss.f    a subroutine generating Gauss quadrature rules relative to a given
            integration measure
 dgauss.f   a double-precision version of  gauss.f

 radau.f    a subroutine generating Gauss-Radau quadrature rules relative to a
            given integration measure
 dradau.f   a double-precision version of  radau.f

 lob.f      a subroutine generating Gauss-Lobatto quadrature rules relative to
            a given integration measure
 dlob.f     a double-precision version of  lob.f


2. Test programs and their output
N.B. The output files are those which are distributed as part of TOMS 726;
in most cases, the output from this package will be slightly different.
In some cases, it is impossible to obtain the output files using the original
Fortran 77 test programs using ANY compiler, as the code needed to obtain
some of the output was not present in the test programs!   I have been unable
to get test6 to work satisfactorily with some compilers.

 test1.f90  relates to Example 3.1 of the companion paper, where
            orthogonal polynomials are generated relative to a weight
            function on (-1,1) having square root singularities at
            1, -1, 1/omega, -1/omega, with  omega  between 0 and 1
 test1.out  contains the output of  test1.f

 test2.f90  relates to Example 3.2, where orthogonal polynomials are
            generated relative to a weight function on (0,1) having
            a logarithmic singularity at the origin as well as an
            algebraic singularity with exponent  sigma  greater than -1
 test2.out  contains the output of  test2.f

 test3.f90  relates to Example 4.1, implementing Stieltjes's procedure and
            the Lanczos algorithm to generate discrete Legendre polynomials
 test3.out  contains the output of  test3.f

 test4.f90  relates to Example 4.2, where a discretization procedure
            is applied to generate orthogonal polynomials relative
            to the Chebyshev weight function plus a constant
 test4.out  contains the output of  test4.f

 test5.f90  relates to Example 4.3 illustrating the use of a
            discretization procedure to generate orthogonal
            polynomials relative to the Jacobi weight function with
            a mass point of given strength placed at the left end point
 test5.out  contains the output of  test5.f

 test6.f90  relates to Example 4.4 implementing a discretization procedure to
            generate orthogonal polynomials for the logistics density function
 test6.out  contains the output of  test6.f

 test7.f90  relates to Example 4.5 employing a general-purpose discretization
            procedure to generate the half-range Hermite polynomials
 test7.out  contains the output of  test7.f

 test8.f90  relates to Example 4.6, where Example 3.1 is redone by
            means of a discretized modified Chebyshev algorithm
 test8.out  contains the output of  test8.f

 test9.f90  relates to Example 5.1, redoing Example 3.2 for sigma=1/2,
            using a modification algorithm
 test9.out  contains the output of  test9.f

 test10.f90 relates to Example 5.2, generating induced Legendre polynomials
 test10.out contains the output of  test10.f

 test11.f90 relates to Example 5.3, illustrating the performance of the
            routines  chri.f  and  gchri.f  (see below) in the case of the
            Jacobi weight function multiplied or divided by a linear and
            quadratic factor
 test11.out contains the output of  test11.f
