1) As was mentioned in a previous message to this group, what is
really needed is not so much yet another class library as a standard,
but rather an architectural specification (or interface specification)
for how linear algebra libraries should behave. This is one reason
why STL was so successful. There have been any number of collections
of foundation type classes. STL leap-frogged all of these by being
much more than yet another foundation class library.
2) Performance issues must be paramount. The interface specification
for numerical linear algebra must not in any way hinder opportunities
for high performance. Implementations conforming to the interface
should be able to match or exceed Fortran and vendor-tuned libraries.
Exactly what interface features hinder or help performance is somewhat
of an open question at this time (although we have some ideas as a
result of some ongoing projects).
3) The interface specification must be generic. Again, one of the
reasons for STL's success is that it allows one to use and write
algorithms independently of the container class to which it might be
applied. This approach reduces a combinatorially huge task to a very
manageable size.
Since one class library has been tossed into the mix for discussion as
a possible starting point for a standard, let me toss in an
alternative, based on the points above. We have a work in progress
that we call the Matrix Template Library (MTL) in deference to STL as
a motivating force behind it. You can find out more information about
it at its web site
http://www.lsc.nd.edu/research/mtl
The basic features are genericity, performance, and functional
richness.
I am bringing MTL to the attention of this group not because I think
MTL should be *the* standard, but rather because there are credible
(and I believe superior) alternatives to standardizing on yet another
class library.
Kind Regards,
Andrew Lumsdaine
------------------------------------------------------------------------
Andrew Lumsdaine
Associate Professor email: lums@lsc.nd.edu
Dept. Comp. Sci. & Engr. phone: (219) 631-8716
353 Fitzpatrick Hall fax: (219) 631-9260
University of Notre Dame www: http://www.cse.nd.edu/~lums/
Notre Dame, IN 46556
------------------------------------------------------------------------