Boost logo

Ublas :

From: Pieter Collins (Pieter.Collins_at_[hidden])
Date: 2006-10-23 05:55:03


Manoj Rajagopalan wrote:

>The Boost C++ libraries have this component called uBlas under the
>numeric subsection.
>Have you checked it out?
>
Yes, of course; I've also checked the BLAS-type functions provided. In
fact, we are currently using the uBlas vector and matrix classes with
wrappers to control the interface we expose. This approach has two main
drawbacks:
1) uBlas does not have more advanced matrix operations (QR
factorisation, eigenvalues, SVD) so we need to write these ourselves
anyway (we can't just use Fortran LAPACK bindings as we need different
number types, and even if these routines were available in other
packages, the class hierarchies would probably be incompatible).
2) Writing the wrappers requires a fair amount of knowledge about the
uBlas internals of expression templates.

The main advantage of using low-level templated BLAS and LAPACK routines
is that the algorithms can be written and used independently of the
class hierarchy. This means that the same algorithms could be (easily)
used by both uBlas and (say) MTL, as long as the internal array storage
is compatible.

Pieter

-- 
Dr. Pieter Collins
Centrum voor Wiskunde en Informatica
Postbus 94079
1090 GB Amsterdam
The Netherlands
Tel: +31 20 5924094
Fax:  +31 20 5924199
Email: Pieter.Collins_at_[hidden]