Contents
ALGORITHMS
Site map
Links
Site and author
News
About the site
FAQ
Contact
TERMS OF USE
Contents - Numerical integration - Gaussian quadratures - Computation of Gauss-Laguerre quadrature rule nodes and weights

Computation of Gauss-Laguerre quadrature rule nodes and weights

The Gauss-Laguerre quadrature formula is used to numerically calculate the integral integral(power(x,α)power(e,-x)f(x)dx,0,+∞) by using the formula integral(power(x,α)power(e,-x)f(x)dx,0,+∞) = sum(w_i_f(x_i_),i=0,n-1)+E_n_

Here α>-1

The Gauss-Laquerre quadrature formula for each number of points and order α is completely defined by the set of nodes x and weights w. The algorithm finds these numbers.

Algorithm of nodes and weights calculation

The closed form of the nodes and weights is known only for a small n. Generally, we have to find them numerically. The integration nodes for the n points formula are found as a root of the Laguerre polynomial of order n. The root search is an iterative process. An initial approximation is selected for each root and then the roots are found by using the Newton method. Therefore, the bigger n was selected, the bigger order the Laguerre polynomial has, and more time is required to find a root with the desired accuracy.

The recurrence formula for Laguerre polynomials calculation has the following form:

L_-1_ = 0

L_0_ = 1

(j+1)index(L,j+1,α) = (-x+2j+α+1)index(L,j,α)-(j+α)index(L,j-1,α)

After calculating x (roots of the Laguerre polynomials of n-th order) weights w are calculated by using the following formula:

w_i_ = div(1,x_i_power(div(d,dx)L_n_(x_i_),2))

Error term

The formula with n points is accurate for the polynomials of order 2n-1 and lower. Error term E is:


E_n_ = div(n!Γ(n+α+1),(2n)!)power(f,(2n))(ξ)   0 ≤ ξ < +∞

Subroutine description

The algorithm gets as the input

  • n - required number of nodes.
  • alpha - power of the factor of the weighting function. alpha > -1.

The algorithm returns:

  • x - array of nodes. Its index ranges within 0 and n-1.
  • w - array of weighting coefficients. Its index ranges between 0 and n-1.

The source code was designed by using information from the QUADRULE library.

Links

  1. Eric W. Weisstein. "Laguerre-Gauss Quadrature." From MathWorld--A Wolfram Web Resource

Report a bug

Source codes

C#

C# 1.0 source.
gqgenlaguerre.csharp.zip - Computation of Gauss-Laguerre quadrature rule nodes and weights


C++

C++ source.
gqgenlaguerre.cpp.zip - Computation of Gauss-Laguerre quadrature rule nodes and weights
ablas.zip - optimized basic linear algebra subroutines with SSE2 support (for C++ sources only)


C++, multiple precision arithmetic

C++ source. MPFR/GMP is used.
GMP source is available from gmplib.org. MPFR source is available from www.mpfr.org.
gqgenlaguerre.mpfr.zip - Computation of Gauss-Laguerre quadrature rule nodes and weights
mpfr.zip - precompiled Win32 MPFR/GMP binaries


Delphi

Delphi source.
Can be compiled under FPC (in Delphi compatibility mode).
gqgenlaguerre.delphi.zip - Computation of Gauss-Laguerre quadrature rule nodes and weights


Visual Basic 6

Visual Basic 6 source.
gqgenlaguerre.vb6.zip - Computation of Gauss-Laguerre quadrature rule nodes and weights


Zonnon beta

Zonnon source.
Zonnon is an experimental language developed at ETH Zurich.
See www.zonnon.ethz.ch for more information.
gqgenlaguerre.zonnon.zip - Computation of Gauss-Laguerre quadrature rule nodes and weights



 
 
Sergey Bochkanov, Vladimir Bystritsky
Copyright © 1999-2008