quad_rule, an Octave code which sets quadrature rules, used to approximate the integral of a function over various domains.

quad_rule returns the abscissas and weights for a variety of one dimensional quadrature rules for approximating the integral of a function. The best rule is generally Gauss-Legendre quadrature, but other rules offer special features, including the ability to handle certain weight functions, to approximate an integral on an infinite integration region, or to estimate the approximation error.


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


quad_rule is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and Programs:


alpert_rule, an Octave code which can set up an alpert quadrature rule for functions which are regular, log(x) singular, or 1/sqrt(x) singular.

clenshaw_curtis_rule, an Octave code which defines a multiple dimension clenshaw curtis quadrature rule.

line_felippa_rule, an Octave code which returns the points and weights of a felippa quadrature rule over the interior of a line segment in 1d.

quadmom, an Octave code which computes a gaussian quadrature rule for a weight function rho(x) based on the golub-welsch procedure that only requires knowledge of the moments of rho(x).

quadrature_rules, a dataset directory which contains sets of files that define quadrature rules over various 1d intervals or multidimensional hypercubes.

quad_rule_fast, an Octave code which defines efficient versions of a few 1d quadrature rules.

test_int, an Octave code which defines test integrands for 1d quadrature rules.

toms655, an Octave code which computes the weights for interpolatory quadrature rule;
this library is commonly called iqpack;
this is a MATLAB version of acm toms algorithm 655.

truncated_normal_rule, an Octave code which computes a quadrature rule for a normal probability density function (pdf), also called a gaussian distribution, that has been truncated to [a,+oo), (-oo,b] or [a,b].

Source Code:

Last revised on 02 March 2019.