[SciPy-dev] Numerical Recipes (was tagging 0.7rc1 this weekend?)

Charles R Harris charlesr.harris at gmail.com
Tue Dec 16 02:53:28 EST 2008


On Mon, Dec 15, 2008 at 11:59 PM, Jarrod Millman <millman at berkeley.edu>wrote:

> We are in better shape regarding the NR issue.  3 out of the 7 issues
> have been resolved.  Before branching and tagging the release
> candidate for 0.7.0, we have to deal with the remaining 4 issues.
>
> Unfortunately, I don't have time to even look into this right now.  We
> are really close and I hope someone will pitch in and resolve the
> remaining issues.  Unless someone can say I wrote this code and I
> didn't derive it from the NR code.  Since no one has stepped up to say
> this, I assume we are going to have to review the code and make a
> determination about this.  Basically, someone needs compare our code
> with the NR code.  Check to see if the code is identical.  If the code
> isn't identical, does it look like it is the NR code with
> modifications (e.g., the same call signature, the same loops, the same
> variable names, etc.).  If the code is derived from NR, we need to
> remove it and if we want to include the functionality someone would
> need to rewrite the code from scratch.  If our code isn't derived from
> NR code, we need to correctly document this fact so that we don't
> revisit this issue in a year.  Despite how annoying this may be, the
> NR copyright specifically states that we don't have the right to port
> their code to another language.  So having taken their code and
> rewritten it in Python isn't allowed.  We are allowed to read their
> descriptions of the algorithms and write code based on that
> description; we just can't use their code to write the code.
>
> Here is a summary of where I think we are now (please let me know if I
> am incorrect):
>
> 1.  2 functions (ridder, brentq) in scipy/optimize/zeros.py
>
> Resolved.
>
> 2.  quickselect in scipy/signal/medianfilter.c
>
> Unresolved.
>
> 3.  scipy/special/orthogonal.py
>

The first mention I see of this method of calculating the sample points and
weights for Gaussian quadrature is in this 1967 technical report:
ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/67/81/CS-TR-67-81.pdf. It
doesn't look to me like the NR version of the Golub-Welsch algorithm, or
numpy's for that matter, differs in any significant way. Note that the
original either misspells Welsch or a citation mutation occurred down the
line and the name has been spelled Welsh by all those who copied it without
looking up the original.

A more official publication is G.H. Golub and J.H.Welsch, Computation of
Gauss quadrature rules, Math. Comp., 23(1969), pp. 221-230

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20081216/9083946e/attachment.html>


More information about the SciPy-Dev mailing list