gauss.quad {statmod} | R Documentation |

## Gaussian Quadrature

### Description

Calculate nodes and weights for Gaussian quadrature.

### Usage

gauss.quad(n,kind="legendre",alpha=0,beta=0)

### Arguments

`n` |
number of nodes and weights |

`kind` |
kind of Gaussian quadrature, one of `"legendre"` , `"chebyshev1"` , `"chebyshev2"` , `"hermite"` , `"jacobi"` or `"laguerre"` |

`alpha` |
parameter for Jacobi or Laguerre quadrature, must be greater than -1 |

`beta` |
parameter for Jacobi quadrature, must be greater than -1 |

### Details

The integral from `a`

to `b`

of `w(x)*f(x)`

is approximated by `sum(w*f(x))`

where `x`

is the vector of nodes and `w`

is the vector of weights. The approximation is exact if `f(x)`

is a polynomial of order no more than `2n-1`

.
The possible choices for `w(x)`

, `a`

and `b`

are as follows:

Legendre quadrature: `w(x)=1`

on `(-1,1)`

.

Chebyshev quadrature of the 1st kind: `w(x)=1/sqrt(1-x^2)`

on `(-1,1)`

.

Chebyshev quadrature of the 2nd kind: `w(x)=sqrt(1-x^2)`

on `(-1,1)`

.

Hermite quadrature: `w(x)=exp(-x^2)`

on `(-Inf,Inf)`

.

Jacobi quadrature: `w(x)=(1-x)^alpha*(1+x)^beta`

on `(-1,1)`

. Note that Chebyshev quadrature is a special case of this.

Laguerre quadrature: `w(x)=x^alpha*exp(-x)`

on `(0,Inf)`

.

The method is explained in Golub and Welsch (1969).

### Value

A list containing the components

`nodes` |
vector of values at which to evaluate the function |

`weights` |
vector of weights to give the function values |

### Note

This function solves a dense `n`

x`n`

eigenvector problem and is therefore slow for large `n`

.
It could be made far more efficient by using an eigenvector function designed to compute the leading terms of the eigenvectors for tridiagonal matrices.

### Author(s)

Gordon Smyth

### References

Golub, G. H., and Welsch, J. H. (1969). Calculation of Gaussian
quadrature rules. *Mathematics of Computation* **23**, 221-230.

Golub, G. H. (1973). Some modified matrix eigenvalue problems.
*Siam Review* **15**, 318-334.

Stroud and Secrest (1966). *Gaussian Quadrature Formulas*. Prentice-
Hall, Englewood Cliffs, N.J.

### See Also

`gauss.quad.prob`

, `integrate`

### Examples

out <- gauss.quad(10,"laguerre",alpha=5)
sum(out$weights * out$nodes) / gamma(6)
# mean of gamma distribution with alpha=6

[Package

*statmod* version 1.2.4

Index]