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:

Licensing:

The computer code and data files described and made available on this web page are distributed under the MIT license

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:

alpert_rule_test

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.

Reference:

  1. Bradley Alpert,
    Hybrid Gauss-Trapezoidal Quadrature Rules,
    SIAM Journal on Scientific Computing,
    Volume 20, Number 5, pages 1551-1584, 1999.

Source Code:


Last revised on 25 August 2021.