Portability  portable 

Stability  provisional 
Maintainer  Edward Kmett <ekmett@gmail.com> 
Safe Haskell  SafeInfered 
An implementation of Takahashi and Mori's TanhSinh quadrature.
http://en.wikipedia.org/wiki/Tanhsinh_quadrature
TanhSinh provides good results across a widerange of functions and is pretty much as close to a universal quadrature scheme as is possible. It is also robust against error in the presence of singularities at the endpoints of the integral.
The change of basis is precomputed, and information is gained quadratically in the number of digits.
ghci> absolute 1e6 $ parTrap sin (pi/2) pi Result {result = 0.9999999999999312, errorEstimate = 2.721789573237518e10, evalutions = 25}
ghci> confidence $ absolute 1e6 $ trap sin (pi/2) pi (0.9999999997277522,1.0000000002721101)
Unlike most quadrature schemes, this method is also fairly robust against singularities at the end points.
ghci> absolute 1e6 $ trap (recip . sqrt . sin) 0 1 Result {result = 2.03480500404275, errorEstimate = 6.349514558579017e8, evalutions = 49}
See http://www.johndcook.com/blog/2012/02/21/careandtreatmentofsingularities/ for a sense of how more naive quadrature schemes fare.
 trap :: (Double > Double) > Double > Double > [Result]
 simpson :: (Double > Double) > Double > Double > [Result]
 trap' :: Strategy [Double] > (Double > Double) > Double > Double > [Result]
 simpson' :: Strategy [Double] > (Double > Double) > Double > Double > [Result]
 parTrap :: (Double > Double) > Double > Double > [Result]
 parSimpson :: (Double > Double) > Double > Double > [Result]
 data Result = Result {
 result :: !Double
 errorEstimate :: !Double
 evalutions :: !Int
 absolute :: Double > [Result] > Result
 relative :: Double > [Result] > Result
 confidence :: Result > (Double, Double)
Quadrature methods
trap :: (Double > Double) > Double > Double > [Result]Source
Integration using a truncated trapezoid rule under tanhsinh quadrature
simpson :: (Double > Double) > Double > Double > [Result]Source
Integration using a truncated Simpson's rule under tanhsinh quadrature
trap' :: Strategy [Double] > (Double > Double) > Double > Double > [Result]Source
Integration using a truncated trapezoid rule and tanhsinh quadrature with a specified evaluation strategy
simpson' :: Strategy [Double] > (Double > Double) > Double > Double > [Result]Source
Integration using a truncated Simpson's rule under tanhsinh quadrature with a specified evaluation strategy
parTrap :: (Double > Double) > Double > Double > [Result]Source
Integration using a truncated trapezoid rule under tanhsinh quadrature with buffered parallel evaluation
parSimpson :: (Double > Double) > Double > Double > [Result]Source
Integration using a truncated Simpson's rule under tanhsinh quadrature with buffered parallel evaluation
Result  

Estimated error bounds
Confidence intervals
confidence :: Result > (Double, Double)Source