package owl-base
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=38d210ce6c1c2f09631fd59951430e4f364b5ae036c71ed1b32ce559b2a29263
sha512=c468100556445384b9c6adad9c37b5a9b8c27db8be35f61979e65fafa88c60221b8bda0a9c06cfbbc8d4e216a1ed08a315dfefb45bb4f5f15aa82d4358f57567
doc/owl-base/Owl_maths_root/index.html
Module Owl_maths_root
Root finding algorithms for nonlinear functions
Type definition
Core functions
val fzero :
?solver:solver ->
?max_iter:int ->
?xtol:float ->
(float -> float) ->
float ->
float ->
float
``fzero ~solver f a b`` tries to find the root of univariate function ``f`` in the bracket ``a, b
`` using method ``solver``. This is the hub function of the individual root finding algorithms in the following sections. You can certainly call each individual ones.
Parameters: * ``solver``: solver, default one is Brent method. * ``max_iter``: maximum number of iterations, default value is ``1000``. * ``xtol``: the tolerance of ``x`` on abscissa, default value is ``1e-6``. * ``f``: the univariate scalar function to find root. * ``a``: boundary of bracket. * ``b``: boundary of bracket.
Root of univariate functions
``bisec f a b`` tries to find the root of univariate function ``f`` in the bracket defined by ``a, b
``.
Parameters: * ``max_iter``: maximum number of iterations. * ``xtol``: the tolerance of ``x`` on abscissa. * ``f``: the univariate scalar function to find root. * ``a``: boundary of bracket. * ``b``: boundary of bracket.
``false_pos f a b`` tries to find the root of univariate function ``f`` in the bracket defined by ``a, b
``.
Parameters: * ``max_iter``: maximum number of iterations. * ``xtol``: the tolerance of ``x`` on abscissa. * ``f``: the univariate scalar function to find root. * ``a``: boundary of bracket. * ``b``: boundary of bracket.
``ridder f a b`` tries to find the root of univariate function ``f`` in the bracket defined by ``a, b
``.
Parameters: * ``max_iter``: maximum number of iterations. * ``xtol``: the tolerance of ``x`` on abscissa. * ``f``: the univariate scalar function to find root. * ``a``: boundary of bracket. * ``b``: boundary of bracket.
``brent f a b`` tries to find the root of univariate function ``f`` in the bracket defined by ``a, b
``.
Parameters: * ``max_iter``: maximum number of iterations. * ``xtol``: the tolerance of ``x`` on abscissa. * ``f``: the univariate scalar function to find root. * ``a``: boundary of bracket. * ``b``: boundary of bracket.
Refer to :cite:`brent2013algorithms`
Helper functions
val bracket_expand :
?rate:float ->
?max_iter:int ->
(float -> float) ->
float ->
float ->
(float * float) option
``bracket_expand f a b`` expands the bracket ``a, b
`` for a given function ``f`` until it finds ``f a`` and ``f b`` have different signs.
Parameters: * ``max_iter``: maximum number of iterations, the default is 100 * ``rate``: rate of growth, the default is 1.6 * ``f``: the univariate scalar function to find root. * ``a``: initial boundary of bracket. * ``b``: initial boundary of bracket.