|
From: | Steven G. Johnson |
Subject: | Re: Can we freely use AMOS in Octave? |
Date: | Sat, 18 Aug 2012 09:36:31 -0400 |
User-agent: | Thunderbird 2.0.0.24 (Macintosh/20100228) |
Dmitri A. Sergatskov wrote:
On Fri, Aug 10, 2012 at 12:14 PM, Steven G. Johnson <address@hidden> wrote: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.)It appears to me that COULCC is a part of the Fresco coide http://www.fresco.org.uk/download.htm with a FRES version available "for public distribution" (I do not see an explicit licensing): http://www.fresco.org.uk/source/fres-v29.html
I received a copy of COULCC with an explicit MIT/X11 license directly from the original author. This version of the code (including the permission email from the author), along with a re-entrant C++ translation that I created (semi-automated, but not f2c), is available at:
http://jdj.mit.edu/~stevenj/coulcc-20120813.tgzHowever, the code (both the Fortran original and my C++ translation) has a problem that turned up in my evaluation: it has significantly worse accuracy than AMOS for some moderate-size Bessel orders (~ 10). The original author is taking a look at this, but at the moment it may be problematic as a drop-in replacement for AMOS.
However, AMOS's inclusion in SLATEC, which has an explicit public-domain statement by the national laboratories, seems like it may fix the licensing problem with AMOS and eliminate the need for ACM permission.
Steven
[Prev in Thread] | Current Thread | [Next in Thread] |