C++ Matrix & Linear Algebra library



All,

I'm trying to choose a C++ library for matrix and vector math. So
far, no 'obvious choice' has come forward.

My code really amounts to a library to help its users solve a class of
problems. As such, I am focused on making the construction of the
matrix and rhs as easy as possible -- as well as the manipulation of
the results.

I would prefer to treat solving the equations at an appropriately high
level. Simplicity is preferred over extreme performance, although a
library which makes sparse or parallel techniques readily available
would be nice.

My code will eventually be open source. However, I prefer code to
politics.

I want to keep the high-level syntactic convenience of an overloaded
library like blitz++. It is what I am using so far.

However, blitz doesn't actually have any of the linear algebra
routines built in. I am also concerned that blitz is not progressing
-- the last release was in 2005 and the project appears to be
incomplete rather than fully mature.

The GSL provides the kitchen sink of libraries. It is also actively
developed. However, it provides none of the convenience of an
overloaded library. It appears to be a flag-waving member of the GNU
project, I would prefer not to use a library which chose the GPL over
the LGPL.

I've looked a little at POOMA and some of the others.

The list at http://www.oonumerics.org/oon/ provides few answers and
seems quite out of date.

Does anyone have any suggestions?

Rob
.



Relevant Pages

  • Re: An embedded DB engine
    ... both in simplicity of syntax and performance. ... > matrix/vector class you prefer? ... The Blitz++ library is an interesting attempt at developing array and ... matrix libraries in C++ -- but it incomplete, ...
    (comp.lang.fortran)
  • Re: C++ Matrix & Linear Algebra library
    ... My code really amounts to a library to help its users solve a class of ... I want to keep the high-level syntactic convenience of an overloaded ... blitz doesn't actually have any of the linear algebra ... The GSL provides the kitchen sink of libraries. ...
    (sci.math.num-analysis)
  • Re: Lazy evaluation
    ... but expression templates technique in C++ ... > was used to a similar effect in libraries such as Blitz++. ... Haskell is a language where all computations are lazy by default. ...
    (comp.lang.ruby)