Maths_quadrature¶
This document is auto-generated for Owl’s APIs. #9 entries have been extracted. timestamp: 2018-04-16 13:12:53
Github: {Signature} {Implementation}
Integration functions¶
val trapz : ?n:int -> ?eps:float -> (float -> float) -> float -> float -> float
trapz f a b
computes the integral of f
on the interval [a,b]
using
the trapezoidal rule, i.e. \(\int_a^b f(x) dx\).
- Parameters:
f
: function to be integrated.n
: the maximum allowed number of steps. The default value is20
.eps
: the desired fractional accuracy. The default value is1e-6
.a
: lower bound of the integrated interval.b
: upper bound of the integrated interval.
- Returns:
y
: the integral off
on[a, b]
.
val simpson : ?n:int -> ?eps:float -> (float -> float) -> float -> float -> float
simpson f a b
computes the integral of f
on the interval [a,b]
using
the Simpson’s rule, i.e. \(\int_a^b f(x) dx\).
- Parameters:
f
: function to be integrated.n
: the maximum allowed number of steps. The default value is20
.eps
: the desired fractional accuracy. The default value is1e-6
.a
: lower bound of the integrated interval.b
: upper bound of the integrated interval.
- Returns:
y
: the integral off
on[a, b]
.
val romberg : ?n:int -> ?eps:float -> (float -> float) -> float -> float -> float
romberg f a b
computes the integral of f
on the interval [a,b]
using
the Romberg method, i.e. \(\int_a^b f(x) dx\). Note that this algorithm is
much faster than trapz
and simpson
.
- Parameters:
f
: function to be integrated.n
: the maximum allowed number of steps. The default value is20
.eps
: the desired fractional accuracy. The default value is1e-6
.a
: lower bound of the integrated interval.b
: upper bound of the integrated interval.
- Returns:
y
: the integral off
on[a, b]
.
val gaussian_fixed : ?n:int -> (float -> float) -> float -> float -> float
gaussian_fixed f a b
computes the integral of f
on the interval
[a,b]
using the Gaussian quadrature of fixed order. Note that this
algorithm is much faster than others due to cached weights.
- Parameters:
f
: function to be integrated.n
: the order of polynomial. The default value is10
.a
: lower bound of the integrated interval.b
: upper bound of the integrated interval.
- Returns:
y
: the integral off
on[a, b]
.
val gaussian : ?n:int -> ?eps:float -> (float -> float) -> float -> float -> float
gaussian f a b
computes the integral of f
on the interval [a,b]
using adaptive Gaussian quadrature of fixed tolerance.
- Parameters:
f
: function to be integrated.n
: the maximum order. The default value is50
.eps
: the desired fractional accuracy. The default value is1e-6
.a
: lower bound of the integrated interval.b
: upper bound of the integrated interval.
- Returns:
y
: the integral off
on[a, b]
.
Helper functions¶
val trapzd : (float -> float) -> float -> float -> int -> float
The function computes the nth stage of refinement of an extended trapezoidal
rule. It is the workhorse of several integration functions including trapz
,
simpson
, and romberg
.
- Parameters:
f
: function to be integrated.a
: lower bound of the integrated interval.b
: upper bound of the integrated interval.n
: the nth stage.
- Returns:
y
: the integral off
on[a, b]
.
val gauss_legendre : ?eps:float -> ?a:float -> ?b:float -> int -> float array * float array
Given the lower and upper limits of integration a
and b
, and order
n
, the function computes the abscissas and weights of the Gauss-Legendre
n-point quadrature formula.