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