# alpert_rule

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:

• regular, no singularity; the regular Alpert rule is used in both end intervals.
• power, the integrand has the form g(x)=x^(-1/2)*phi(x)+psi(x); the power singular Alpert rule is used in the leftmost interval.
• log, the integrand has the form g(x)=phi(x)*log(x)+psi(x); the log singular Alpert rule is used in the leftmost interval.

### Languages:

alpert_rule is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

### Related Data and Programs:

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.