Brent's method of root finding



I agree that you can't be too careful, and I'm sorry for opening up a can of
worms.  I have written to Numerical Recipes, asking their advice, and
pointing out that their published code differs hardly at all from a free one
(brent.c, at netlib).  The reason I didn't use brent.c in the first place
was that the NR version looked easier to translate.

-Alasdair

On 5/9/07, Robert Dodier <robert.dodier at gmail.com> wrote:
>
> Disclaimer: I am not a lawyer.
>
> On 5/6/07, Alasdair McAndrew <amca01 at gmail.com> wrote:
>
> > Attached is a simple program to implement Brent's method of finding a
> root
> > of a non-linear equation.  It uses a combination of the bisection and
> secant
> > methods, and inverse quadratic interpolation, to provide guaranteed
> > convergence to a root, using the best possible method at each step.  My
> > program is just a Maxima translation of the C program given in
> "Numerical
> > Recipes", which can be found at
> > http://www.nrbook.com/b/bookcpdf/c9-3.pdf.
>
> Alasdair, thanks for your interest in this topic. I'm sorry to be a
> wet blanket here but the Maxima project can only accept code
> released under a GPL-compatible license or in the public domain.
> The NR code is neither, and so derived works (e.g. translations)
> are not.
>
> Not sure if you intended to offer the code as a contribution to the
> project, but I thought it best to raise the issue anyway.
>
> Here is what the Numerical recipes web site says:
> (http://www.numerical-recipes.com/infotop.html)
> Question: "You want to translate some (or all) the Numerical Recipes
> routines to a different computer language, and then redistribute the
> resulting translations."
> Answer: "If you are a licensed NR user, you can make any personal use
> you want on a licensed screen, including translating NR to another
> computer language. However, you can't redistribute the translations in any
> manner, since they are 'derivative works' and still subject to our
> copyright."
>
> That said, maybe if someone writes to the NR copyright holders
> they will grant an exception to release the code under the GPL.
> Wouldn't hurt to ask.
>
> I found an implementation of Brent's algorithm in Scheme.
> http://www-swiss.ai.mit.edu/~gjs/6946/linux-install.htm
> However a comment in the source code states that it is
> also derived from Numerical Recipes. Probably there are lots of
> other implementations out there.
>
> All the best,
> Robert
>