Dear all,
I am a maintainer of the matrixtoolkitsjava
http://code.google.com/p/matrixtoolkitsjava/
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 commonsmath 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 matrixtoolkitsjava were
available as part of commonsmath. There is already too much diversity and
unmaintained 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 wellknown 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 commonsmath didn't build on their good work.
I believe commonsmath should move to a netlibjava backend (allowing the
use of machine optimised BLAS/LAPACK).
http://code.google.com/p/netlibjava/
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
commonsmath 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/commonsmath%2Cmatrixtoolkitsjavaandconsolidationtp23537813p23537813.html
Sent from the Commons  Dev mailing list archive at Nabble.com.

To unsubscribe, email: devunsubscribe@commons.apache.org
For additional commands, email: devhelp@commons.apache.org
