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 ------------------------------------------------------------------------------- .. code-block:: ocaml 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. :math:`\int_a^b f(x) dx`. Parameters: * ``f``: function to be integrated. * ``n``: the maximum allowed number of steps. The default value is ``20``. * ``eps``: the desired fractional accuracy. The default value is ``1e-6``. * ``a``: lower bound of the integrated interval. * ``b``: upper bound of the integrated interval. Returns: * ``y``: the integral of ``f`` on ``[a, b]``. `source code `__ .. code-block:: ocaml 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. :math:`\int_a^b f(x) dx`. Parameters: * ``f``: function to be integrated. * ``n``: the maximum allowed number of steps. The default value is ``20``. * ``eps``: the desired fractional accuracy. The default value is ``1e-6``. * ``a``: lower bound of the integrated interval. * ``b``: upper bound of the integrated interval. Returns: * ``y``: the integral of ``f`` on ``[a, b]``. `source code `__ .. code-block:: ocaml 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. :math:`\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 is ``20``. * ``eps``: the desired fractional accuracy. The default value is ``1e-6``. * ``a``: lower bound of the integrated interval. * ``b``: upper bound of the integrated interval. Returns: * ``y``: the integral of ``f`` on ``[a, b]``. `source code `__ .. code-block:: ocaml 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 is ``10``. * ``a``: lower bound of the integrated interval. * ``b``: upper bound of the integrated interval. Returns: * ``y``: the integral of ``f`` on ``[a, b]``. `source code `__ .. code-block:: ocaml 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 is ``50``. * ``eps``: the desired fractional accuracy. The default value is ``1e-6``. * ``a``: lower bound of the integrated interval. * ``b``: upper bound of the integrated interval. Returns: * ``y``: the integral of ``f`` on ``[a, b]``. `source code `__ Helper functions ------------------------------------------------------------------------------- .. code-block:: ocaml 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 of ``f`` on ``[a, b]``. `source code `__ .. code-block:: ocaml 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. `source code `__