|
Boost Users : |
Subject: Re: [Boost-users] [Math] advice using brent_find_minima()
From: dariomt (dariomt_at_[hidden])
Date: 2014-12-10 09:51:09
John Maddock <boost.regex <at> virgin.net> writes:
>
> > I'd like to find the root of a function f (find x such that f(x) =
0).
> >
> > Should I pass abs( f ) to brent_find_minima()?
>
> No: that's a truly lousy method for finding the root.
>
> If you have one or more derivatives of f then use
newton_raphson_iterate
> or halley_iterate from
>
http://www.boost.org/doc/libs/1_57_0/libs/math/doc/html/math_toolkit/inte
rnals1/roots.html
>
> Otherwise use toms748_solve or bracket_and_solve_root from
>
>
http://www.boost.org/doc/libs/1_57_0/libs/math/doc/html/math_toolkit/inte
rnals1/roots2.html.
> Note that the latter of these two calls the former, which happens to
> be asymptotically optimal if you have no derivative information.
>
> And no, we don't have examples for these as they're "details" that
> aren't officially part of the library yet. However, we really should
do
> something about that as the code has actually been stable for millennia
> now
>
> HTH, John.
>
OK, now I got it!
You have brent algorithm for finding the minima, but not brent algorithm
for finding the root.
I don't have derivative for f, so how does toms748_solve compare to [1]?
Regards
[1] http://en.wikipedia.org/wiki/Brent%27s_method
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net