Brent Worden wrote:
>>Gamma.java specifically mentioned that is was based on "Numerical
>>Recipes in C" which is not available under a license compatible with the
>>ASL.
>
>
> What is specifically mentioned was "is based on the formulas and
> descriptions" found in NR and it clearly states in
> http://www.nr.com/com/info-copyright.html that "Of course, the mathematical
> algorithms that underly the programs are not copyrightable..."
This is a good point. The full text of the paragraph that starts with
that sentence is:
"Of course, the mathematical algorithms that underly the programs are
not copyrightable. So, the test of whether a similar program is actually
infringing on the Numerical Recipes copyright is whether the expression
of the underlying algorithm is so similar to that in Numerical Recipes
as to make clear that the infringing program was in fact derived from
the Numerical Recipes program. It is usually very easy to tell if
something was copied from Numerical Recipes, even if variable names are
changed (for example), since all programs are full of arbitrary
stylistic choices as to the order in which things are done, the way
expressions are written, etc."
I am not a lawyer and I have learned that lawyers often see things very
differently than I do, but to me it looks like as long as all we are
using are the formulas in NR, we *might* be OK, as long as:
* "our" implementation does not end up looking like it was "derived from
the NR program"
* the formulas that we use are part of the "mathematical algorithms"
rather than part of the "expression of the algorithms"
The best situation,IMHO, is to have non-NR references that describe the
algorithms. If NR itself provides these, we should refer to the original
source (cf earlier discussion of corrected mean computations). I would
suggest that given the potential legal entanglements, we should try to
avoid formulas or algorithms that we can find *only* in NR.
Phil
>
> 1) logGamma is derived using (6.1.3) and (6.1.5) from NR and the Paul
> Godfrey's paper on Lanczos coefficients found at
> http://my.fit.edu/~gabdo/gamma.txt.
>
> 2) regularizedGammaP is derived using (6.2.1) and (6.2.5) from NR. I also
> have hand-written notes on how I derived the implementation from those
> formulas that I would be happy to provide for your viewing.
>
> 3) ChiSquaredDistribution and GammaDistribution are based on (6.2.1) and
> (6.2.18) from NR and the fact that ChiSquared(v) ~ Gamma(v/2, 2) which can
> be found in Casella and Berger.
>
> The t-distribution patch has several modifications to the comments of all
> the mentioned classes with links to all the cited material.
>
> Also, the t patch makes use of other mathematical algorithms found in NR.
>
> A) The continued fraction class is based on (5.2.1) and the modified Lentz
> algorithm defined in that same section and accredited to Thompson and
> Barnett.
>
> B) logGamma uses the cf class and (6.2.7) from NR to provide better
> convergence than the series.
>
> C) logBeta uses (6.1.9) from NR.
>
> D) regularizedBeta is derived using the cf class and (6.4.1), (6.4.5) and
> (6.4.6) from NR.
>
> E) TDistribution is based on (6.4.9) from NR.
>
> Brent Worden
> http://www.brent.worden.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org