Boost logo

Ublas :

From: Manoj Rajagopalan (rmanoj_at_[hidden])
Date: 2006-10-21 17:27:00

The Boost C++ libraries have this component called uBlas under the
numeric subsection.

Have you checked it out?


Pieter Collins wrote:
> 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
> (Apologies for cross-posting)
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden]