# Numerical Integration

This chapter describes routines for performing numerical integration (quadrature) of a function in one dimension. There are routines for adaptive and non-adaptive integration of general functions, with specialised routines for specific cases. These include integration over infinite and semi-infinite ranges, singular integrals, including logarithmic singularities, computation of Cauchy principal values and oscillatory integrals. The library reimplements the algorithms used in QUADPACK, a numerical integration package written by Piessens, Doncker-Kapenga, Uberhuber and Kahaner. Fortran code for QUADPACK is available on Netlib.

The functions described in this chapter are declared in the header file ``gsl_integration.h'`.

- Numerical Integration Introduction
- QNG non-adaptive Gauss-Kronrod integration
- QAG adaptive integration
- QAGS adaptive integration with singularities
- QAGP adaptive integration with known singular points
- QAGI adaptive integration on infinite intervals
- QAWC adaptive integration for Cauchy principal values
- QAWS adaptive integration for singular functions
- QAWO adaptive integration for oscillatory functions
- QAWF adaptive integration for Fourier integrals
- Numerical integration error codes
- Numerical integration examples
- Numerical integration References and Further Reading