octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can we freely use AMOS in Octave?


From: Steven G. Johnson
Subject: Re: Can we freely use AMOS in Octave?
Date: Fri, 10 Aug 2012 17:14:43 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Jordi Gutiérrez Hermoso <jordigh <at> octave.org> writes:
> As jwe and Dima Sergatskov have pointed out to me privately, Matlab
> is using the same library, so I'd be kinda surprised if this turned
> out to be a problem.

Unfortunately, Mathworks could easily have purchased a commercial license
from ACM.

One possibility that occurred to me is that, since the AMOS code was
developed at Sandia National Labs, it was a work of the US Govt and therefore
automatically in the public domain (ineligible for copyright).  However, it
looks like Sandia is technically a government contractor rather than a
government agency per se, and they certainly produce copyrighted software
these days (https://software.sandia.gov/).

As an alternative, I am evaluating a package called COULCC (also written
in the 1980s).  COULCC, like AMOS, was also posted without a copyright
license, and later published in a journal (Computer Physics Communications, CPC:
see http://dx.doi.org/10.1016/0010-4655(85)90025-6 ) that distributes
code under a semi-free (non-commercial-use) license.  However, CPC (unlike
ACM) explicitly says that authors retain the copyright on the code, and
I was able to contact the COULCC author yesterday and graciously provided
me with a version of his code under the MIT/X11 license.

COULCC has some potential technical advantages over AMOS, separate from
the legal questions.  It can evaluate Bessel functions of complex order
in addition to complex arguments (AMOS only handles complex arguments
and real orders), and has routines to compute J and Y simultaneously,
as well as variants (modified Bessel functions, spherical Bessel
functions, Hankel functions, exponentially scaled Bessel and Hankel
functions, and Coulomb wavefunctions).

(COULCC was originally written in Fortran 77, but the version I now have
has been updated with a little bit of Fortran 90 code.  It probably
requires a bit of work to make it convenient to call from C/C++, and is
currently non-reentrant.)

Steven



reply via email to

[Prev in Thread] Current Thread [Next in Thread]