I discovered/remembered something that might make the inclusion of Java
source translated BLAS/LAPACK code troublesome. The F2J translator does a
two step process... it generates Java from the Fortran, but then has to do
some jiggery-pokery to the class file to handle GOTO statements. That means
any source code would not compile correctly without an additional
post-compilation stage.

The obvious answer is to just depend on the translated binaries... which
could of course be distributed with commons-math. The F2J translator allows
the namespace to be specified, so there is no reason the translated binaries
couldn't be "org.apache.commons.math.{blas, lapack}" etc.

I'm currently asking the author if he can create a Maven bundle of the
resulting binaries. That leaves external dependency an option. I'd greatly
appreciate anybody contacting me off-list to help with this if they have any
Maven experience!


Sam Halliday wrote:
> 
> Dear all,
> 
> I am a maintainer of the matrix-toolkits-java
> 
>   http://code.google.com/p/matrix-toolkits-java/
> 
> which is a comprehensive collection of matrix data structures, linear
> solvers, least squares methods, eigenvalue and singular value
> decompositions.
> 
> This note is in regard to the commons-math library. It is clear that our
> projects dovetail, especially when I look at "linear" in version 2.0 of
> the API. It would be good if we could either complement or consolidate
> efforts, rather than reproduce.
> 
> It would be excellent if all the functionality of matrix-toolkits-java
> were available as part of commons-math. There is already too much
> diversity and un-maintained maths code out there for Java!
> 
> As a start, I'd like to discourage the use of a solid implementation for
> SparseReal{Vector, Matrix}... please prefer an interface approach,
> allowing implementations based on the Templates project:-
> 
>   http://www.netlib.org/templates
> 
> The reason is that the storage implementation should be related to the
> type of data being stored. For example, there are many well-known kinds of
> sparse matrix that are well suited to particular kinds of calculations...
> consider multiplying sparse matrices that you know to be diagonal!
> 
> In general, the netlib.org folk (BLAS/LAPACK) have spent a *lot* of time
> thinking about linear algebra and have set up unrivalled standard APIs
> which have been implemented right down to the architecture level. It would
> be a major mistake if commons-math didn't build on their good work.
> 
> I believe commons-math should move to a netlib-java backend (allowing the
> use of machine optimised BLAS/LAPACK).
> 
>   http://code.google.com/p/netlib-java/
> 
> The largest problems facing MTJ are support for Sparse BLAS/LAPACK and
> scalability to parallel architectures which use Parallel BLAS/LAPACK. The
> former should be possible with some work within the current API, but I
> fear major API changes would be needed for the latter. I do not want the
> commons-math API to walk into this trap without having first considered
> future architectures! MTJ has a distributed package, but I am not sure if
> this is something that is completely future proof either.
> 
> What say ye'?
> 
> -- 
> Sam
> 
> 

-- 
View this message in context: 
http://www.nabble.com/commons-math%2C-matrix-toolkits-java-and-consolidation-tp23537813p23766139.html
Sent from the Commons - Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to