[ bsd3, library, math ] [ Propose Tags ]

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).

Versions [faq] 0.1 base (>=3 && <6) [details] BSD-3-Clause Grigory Sarnitsky Grigory Sarnitsky Math by GrigorySarnitsky at Thu Sep 15 14:57:26 UTC 2011 NixOS:0.1 902 total (15 in the last 30 days) (no votes yet) [estimated by rule of succession] λ λ λ Docs uploaded by userBuild status unknown

[Index]