ALPERT_RULE, a C++ library which has tabulated values that define 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 C++ library which returns the points and weights of a Fekete quadrature rule over the interior of a line segment in 1D.
LINE_FELIPPA_RULE, a C++ library which returns the points and weights of a Felippa quadrature rule over the interior of a line segment in 1D.
LINE_NCC_RULE, a C++ library 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 C++ library 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 C++ library which computes the weights of a quadrature rule using the Vandermonde matrix, assuming that the points have been specified.