List Info

Thread: Templated BLAS and LAPACK routines




Templated BLAS and LAPACK routines
user name
2006-08-17 09:35:51
As part of a project on rigorous set-based numerics, I need
some generic 
linear algebra routines in C++. Unfortunately, none of the
packages I 
have found to date support everything I need (GMP number
types and 
Interval types; solution of linear equations, QR
factorisation and 
singular value decomposition; dense and sparse matrices;
Matrix and 
Vector classes). There are a number of partial solution
(e.g. Boost 
ublas has linear equations; MTL has an interface to Fortran
LAPACK; JAMA 
has the algorithms but poor types), but nothing which does
everything I 
want, and many libraries have incompatible classes.

As a temporary solution, I have developed my some of my own
code. I 
think it's valuable to separate algorithms from data
structures, as in 
the C++ STL and the Fortran BLAS/LAPACK framework. Hence
computational 
core of this code are a templated BLAS library, TBLAS, and a
templated 
library TLAPACK implementing a limited subset of LAPACK. I
made the 
TBLAS library by judiciously stream-editing the GNU
Scientific Library 
(GSL) C BLAS, but the TLAPACK routines needed more work. I
also wrote a 
simple class interface, SLA, with some expression templates.

I think the TBLAS and TLAPACK libraries are worth further
development 
(the code isn't very clean, not fully tested, can problably
be made more 
general, unoptimized, the LAPACK routines are minimal, and
maybe the 
interface could be simplified). Ideally, these packages
would eventually 
be suitable for inclusion in the Boost C++ library. I think
it's 
important that the packages can be used independantly of any
class-based 
linear algebra package. Unfortunately, I don't have time to
work on this 
much myself, so it would be great if somebody else would be
willing to 
take over the main development.

If you want to take a look at the packages, you can download
them at
  http://homepages.cwi.nl/~collins/software/sla-0.3.5.ta
r.gz

(Apologies for cross-posting)


_______________________________________________
glas mailing list
glaslists.boost.org
http
://lists.boost.org/mailman/listinfo.cgi/glas
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )