Further Information

Project Location and Download

Documentation and Discussion

Visit the Effective
uBLAS wiki for up to date information and contributions.

There is also an active uBLAS mailing list where uBLAS specific user and
development questions are answered.

uBLAS and Boost Project

There is also an active uBLAS mailing list where uBLAS specific from the
latest uBLAS project code. You can view the Boost
CVS archive directly. You will find the library here. Documentation and test
programs reside here.

Frequently Asked Questions

Q: Should I use uBLAS for new projects?
A: At the time of writing (09/2012) there are a lot of good matrix libraries available, e.g.,
MTL4,
armadillo,
eigen. uBLAS offers a stable, well tested set of vector and
matrix classes, the typical operations for linear algebra and solvers for triangular systems of equations. uBLAS offers
dense, structured and sparse matrices - all using similar interfaces. And finally uBLAS offers good (but not outstanding)
performance. On the other side, the last major improvement of uBLAS was in 2008 and no significant change was committed
since 2009. So one should ask himself some questions to aid the decision: Availability? uBLAS is part of boost
and thus available in many environments. Easy to use? uBLAS is easy to use for simple things, but needs decent
C++ knowledge when you leave the path. Performance? There are faster alternatives. Cutting edge? uBLAS
is more than 10 years old and missed all new stuff from C++11.

Q: I've written some uBLAS benchmarks to measure the performance of matrix chain multiplications like prod (A,
prod (B, C)) and see a significant performance penalty due to the use of expression templates. How can I disable
expression templates?
A: You do not need to disable expression templates. Please try reintroducing temporaries using either prod
(A,matrix_type(prod (B, C))) or prod (A,
prod<matrix_type> (B, C)).