alpert_rule, a FORTRAN90 code which defines Alpert quadrature rules of a number of orders of accuracy for functions that are regular, log singular, or power singular.
The rules defined here assume that the integral is to be taken over the interval [0,1]. The interval is divided into N+1 intervals. The leftmost and rightmost intervals are handled in a special way, depending on whether a particular kind of singularity is expected.
A singularity may exist at the left endpoint, x = 0. The cases are:
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
alpert_rule is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.
line_fekete_rule, a FORTRAN90 code which returns the points and weights of a Fekete quadrature rule over the interior of a line segment in 1D.
line_felippa_rule, a FORTRAN90 code which returns the points and weights of a Felippa quadrature rule over the interior of a line segment in 1D.
line_ncc_rule, a FORTRAN90 code which computes a Newton Cotes Closed (NCC) quadrature rule for the line, that is, for an interval of the form [A,B], using equally spaced points which include the endpoints.
line_nco_rule, a FORTRAN90 code which computes a Newton Cotes Open (NCO) quadrature rule, using equally spaced points, over the interior of a line segment in 1D.
quadrature_weights_vandermonde, a FORTRAN90 code which computes the weights of a quadrature rule using the Vandermonde matrix, assuming that the points have been specified.
triangle_fekete_rule, a FORTRAN90 code which defines Fekete rules for quadrature or interpolation over a triangle.
vandermonde, a FORTRAN90 code which carries out certain operations associated with the Vandermonde matrix.