Bessel function scaling + limited range?

John W. Eaton jwe at bevo.che.wisc.edu
Wed Feb 6 22:06:03 CST 2008


On  6-Feb-2008, Kris Kuhlman wrote:

| On Feb 4, 2008 3:07 PM, John W. Eaton <jwe at bevo.che.wisc.edu> wrote:
| 
| > so if these functions are subject to the ACM copyright, then I don't
| > think we can use them in Octave since the "non-commercial use only"
| > clause makes the license incompatible with the GPL.
| >
| 
| So maybe this is an uninformed question or comment, but I will state what
| seems to be to be the obvious.  Since Matlab uses the same Amos Fortran
| library that Octave does (according to the "help besseli" command), can
| there really be a non-commercial-use license attached with it?

Maybe they negotiated some different terms?  If you are interested in
having updated versions of these routines in Octave, then please ask
the ACM if they would allow distribution under terms that are
compatible with the GPL.

| Secondly, if Octave uses the same Amos Fortran libraries as Matlab, why does
| it's precision only go to 1.0E+30, while Matlab's goes much higher?

Perhaps they fixed the problem, or used an updated version?  The
README file from the version of the Amos library that you linked to
includes the following references:

  2. Amos, D. E., Algorithm 644, A Portable Package For Bessel Functions of a
     Complex Argument and Nonnegative Order, ACM Transactions on Mathematical
     Software, Vol. 12, No. 3, September 1986, Pages 265-273

  3. Amos, D. E., Remark on Algorithm 644, ACM Transactions on Mathematical
     Software, Vol. 16, No. 4, December 1990, Page 404

  4. Amos, D. E., Remark on Algorithm 644 (Improvements in Algorithm 644),
     ACM Transactions on Mathematical Software, (Estimated date 1995)

I haven't looked these up, but I guess the later publications include
some bug fixes.  As far as I know, the version of the code that we are
using (from netlib.org) is just what was published in 1986.

| Since it sounds like the move to GSL will not happen soon, could it be that
| maybe the Amos library is configured or compiled wrong?

There is nothing to configure.

| I have attached a small f90 program and its output (named screen) that
| drives the f90 amos code I posted the earlier link to.  It gives me correct
| results well beyond where Octave stops.  I have tried to do the same with
| the amos f77 code in the libcruft directory, but I get junk.  I am not sure
| why.

Presumably the f90 version you have includes the updates published in
1990 and 1995.  But those are apparently subject to the newer ACM
copyright, so we can't use them.

jwe


More information about the Bug-octave mailing list