This is the mail archive of the gsl-discuss@sources.redhat.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Root finding page manual suggestion


Just as a word of warning, I found a interesting site called 
"Why not use Numerical Recipes?", written by JPL.
Link: http://math.jpl.nasa.gov/nr/

It seems that a few professional numerical analysts have found
quite a few things wrong with much of the code and theory.


 Francesco Potorti` (pot@gnu.org) was saying:

> In the "Root  Finding Algorithms using Derivatives" page  one reads that
> the Newton's method converges  quadratically for single roots, while the
> secant  method  has 1.6  convergence  order,  and  "can be  useful  when
> computation of the derivative is costly".
> 
> In fact, as far as I know, it is almost always preferable to Newton's
> method.
> 
> Quoting from "Numerical Methods" by Germund Dahlquist and Ake Bjorck,
> translated by Ned Anderson - Prentice-Hall Inc., 1974.
> 
> Chapter 6.4.1. (the end) pg 229
>   The choice  between the secant  method  and  Newton-Raphson's method
> depends on the amount of work required to  compute f'(x).  Suppose the
> amount  of work to  compute f'(x)  is T  times  the amount of  work to
> compute a value of f(x).   Then an  asymptotic analysis can be used to
> motivate the rule: if T > 0.44, then use the secant method; otherwise,
> use Newton-Raphson's method.
> 
> I've used this  criterion in some small numerical  program I've written,
> and it  works ok.   The above  means that Newton's  method wins  only if
> computing f'(x) is  more than twice faster than  computing f(x), a quite
> rare occurrence in practice.  I suggest this fact to be mentioned in the
> manual.
> 
> Please Cc to me while replying, as I am not subscribed to the list.

-- 
jonathan@leto.net 
"Wir mussen wissen. Wir werden wissen."




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]