It seems that many people start using the flens C++ matrix library for scientific computation because of my Sparse Matrix Library Benchmark article. This blog post should be a small add on and discusses possible difficulties with flens.
UPDATE: flens changed very much in 2012 - see comment #3 by Michael Lehn! Now it is also header only like Eigen, so everything which is written here should be re-evaluated!
Problems with flens
I started using flens two years ago for the aureservoir library and my main problem was the big dependency list of flens (really many libraries).
Okay, it didn't bother me at the beginning, because on linux systems it is easy to install all of these libs with just one command. However, as soon as the first Windows or Mac users are writing you very long mails because they need to install tons of libraries by hand, you experience the beauty of linux (or how funny support can be) .
A second problem is the maintenance of flens. There were no major updates in the last two years and you really need to go into the source code yourself, if you want to use more unimplemented features.
Nevertheless, don't get me wrong, flens is a really very nice and fast library. But you should be aware of those drawbacks before starting a new project with!
Another alternative: eigen
Some month ago I found a really promising possible alternative: the eigen C++ library. It is said to be very fast (automatic vectorization, expression templates, cache-friendliness - see the benchmarks at their webpage), has an elegant API and is well maintained (as part of the KDE project). And the most important thing: there are no library dependencies at all (headers only) with reasonable compilation times. So all you need to do is to copy the eigen folder into your project and you can deliver your code without any dependencies - nice .
However, it would be nice to get some practical experience and to also benchmark the sparse matrix algorithms of eigen. If anybody finds the time to compare e.g. flens and eigen please let me know your results and I will report them here !