commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sam Halliday (JIRA)" <>
Subject [jira] Created: (MATH-269) Use F2J translated BLAS/LAPACK
Date Thu, 28 May 2009 18:43:46 GMT
Use F2J translated BLAS/LAPACK

                 Key: MATH-269
             Project: Commons Math
          Issue Type: New Feature
    Affects Versions: 2.1
            Reporter: Sam Halliday

This is part of the proposal to integrate MTJ, netlib-java and commons-math which has been
well received on the developers' list, @see,-matrix-toolkits-java-and-consolidation-tt23537813.html

Commons Math currently uses hand-crafted BLAS/LAPACK-like methods, whereas the F2J has maintained
a full Java translation of the BLAS and LAPACK fortran code, and is applicable to most of
the scientific code built on top of those libraries (e.g. ARPACK). It enables maintenance
to BLAS/LAPACK to be handled by the netlib team, even for the Java translation. BLAS and LAPACK
are industry standard APIs.

This proposal is to incorporate the translations into the commons-math project. A follow-up
RFE will to define the API to be used in place of the existing code (i.e. incorporate netlib-java).
I do not recommend making the F2J translations a part of the public API.

The code translated by F2J follows the same BSD licence as the netlib libraries. I understand
this is compatible with the Apache licence.

F2J translations can be directed to any package name, currently they output in the "org.netlib.{blas,lapack}"
domain, but commons-math may prefer to use "org.apache.commons.math.netlib".

There is a caveat: the translation of Fortran code introduces a language feature not available
in Java - the GOTO statement. Java translations are post-compile processed by a "javab" tool
(distributed with F2J) which augments the bytecode and allows the code to behave as the Fortran
original. This rules out the possibility of simply including the source code in the commons-math
tree, unless the javab tool becomes part of the build process.

The alternative is to maintain a custom binary (built using F2J from netlib sources), or to
use a maven dependency.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message