@hackage GaussQuadIntegration0.1

Non-adaptive Gaussian quadrature for numeric integraton

  • Categories

  • License

    BSD-3-Clause

  • Maintainer

    Grigory Sarnitsky <sargrigory@ya.ru>

  • Versions

    • 0.1 Thu, 15 Sep 2011

This package provides means for numeric integration with a Gaussian quadrature. Precisely, it incorporates non-adaptive approximation for definite integrals using 128-, 256-, 512- and 1024-point Gaussian quadrature rule. For example, to find the approximation of an integral with a 256-point rule:

╭ a
│   f(x) dx = nIntegrate256 f a b
╯ b
> nIntegrate256 (\x -> x^999) 0 1
9.999999999999887e-4

The type of a function here is not confined only by Double -> Double, indeed one can use any instance of Fractional:

> nIntegrate256 (\x -> x^999 :: Fixed Prec50) 0 1
0.00100000000000000000000000000000000000000000000009

128 and 256 rules are given with the accuracy of 50 digits, 512 --- with 35 digits (roughly quad), all of them were computed by myself. 1024-point rule was taken from the Gauss-Legendre Quadrature C/C++ library by Pavel Holoborodko (http://www.holoborodko.com/pavel/numerical-methods/numerical-integration/) and goes with the accuracy of 25 decimal digits (fixed point).