### 17.12 Gauss-Legendre integration

The fixed-order Gauss-Legendre integration routines are provided for fast integration of smooth functions with known polynomial order. The n-point Gauss-Legendre rule is exact for polynomials of order 2*n-1 or less. For example, these rules are useful when integrating basis functions to form mass matrices for the Galerkin method. Unlike other numerical integration routines within the library, these routines do not accept absolute or relative error bounds.

Function: gsl_integration_glfixed_table * gsl_integration_glfixed_table_alloc (size_t n)

  This function determines the Gauss-Legendre abscissae and weights necessary for an n-point fixed order integration scheme. If possible, high precision precomputed coefficients are used. If precomputed weights are not available, lower precision coefficients are computed on the fly.

Function: double gsl_integration_glfixed (const gsl_function * f, double a, double b, const gsl_integration_glfixed_table * t)

  This function applies the Gauss-Legendre integration rule contained in table t and returns the result.

Function: int gsl_integration_glfixed_point (double a, double b, size_t i, double * xi, double * wi, const gsl_integration_glfixed_table * t)

  For i in [0, …, t->n - 1], this function obtains the i-th Gauss-Legendre point xi and weight wi on the interval [a,b]. The points and weights are ordered by increasing point value. A function f may be integrated on [a,b] by summing wi * f(xi) over i.

Function: void gsl_integration_glfixed_table_free (gsl_integration_glfixed_table * t)

  This function frees the memory associated with the table t.