hmatrix-0.14.1.0: Linear algebra and numerical computation

Portability uses ffi provisional Alberto Ruiz (aruiz at um dot es) Safe-Infered

Numeric.GSL.Integration

Description

Numerical integration routines.

Synopsis

Documentation

Arguments

 :: Double precision (e.g. 1E-9) -> (Double -> Double) function to be integrated on the interval (a,b) -> Double a -> Double b -> (Double, Double) result of the integration and error

Numerical integration using gsl_integration_qng (useful for fast integration of smooth functions). For example:

> let quad = integrateQNG 1E-6
> quad (\x -> 4/(1+x*x)) 0 1
(3.141592653589793,3.487868498008632e-14)

Arguments

 :: Double precision (e.g. 1E-9) -> Int size of auxiliary workspace (e.g. 1000) -> (Double -> Double) function to be integrated on the interval (a,b) -> Double a -> Double b -> (Double, Double) result of the integration and error

Numerical integration using gsl_integration_qags (adaptive integration with singularities). For example:

> let quad = integrateQAGS 1E-9 1000
> let f a x = x**(-0.5) * log (a*x)
> quad (f 1) 0 1
(-3.999999999999974,4.871658632055187e-13)

Arguments

 :: Double precision (e.g. 1E-9) -> Int size of auxiliary workspace (e.g. 1000) -> (Double -> Double) function to be integrated on the interval (-Inf,Inf) -> (Double, Double) result of the integration and error

Numerical integration using gsl_integration_qagi (integration over the infinite integral -Inf..Inf using QAGS). For example:

> let quad = integrateQAGI 1E-9 1000
> let f a x = exp(-a * x^2)
(2.5066282746310002,6.229215880648858e-11)

Arguments

 :: Double precision (e.g. 1E-9) -> Int size of auxiliary workspace (e.g. 1000) -> (Double -> Double) function to be integrated on the interval (a,Inf) -> Double a -> (Double, Double) result of the integration and error

Numerical integration using gsl_integration_qagiu (integration over the semi-infinite integral a..Inf). For example:

> let quad = integrateQAGIU 1E-9 1000
> let f a x = exp(-a * x^2)