|
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]