I've been thinking about switching to Eigen (http://eigen.tuxfamily.org/) from Armadillo (http://arma.sourceforge.net/) in DOLFIN to handle dense matrix/vector problems. The reasoning is:
1. Armadillo is a pain to install (getting it to link properly to BLAS being the main problem) 2. Eigen header only, but can link to BLAS if desired 3. Eigen uses row-major or column-major storage, whereas Armadillo offers only column major. Column-major makes interaction with the GenericTensor::get/set functions clumsy with Armadillo, often requiring copying (this is the most pressing reason for me proposing a change now). 4. Eigen has some good serial sparse linear algebra support Performance wise, from the net there doesn't seem to be much in it. Armadillo does generally requires a good BLAS library to get good performance whereas Eigen doesn't. Eigen has a richer API. Longer term, we could remove the uBLAS interface (which is slow) and implement Eigen as a linear algebra backend. Any opinions/experiences, or is anyone attached to Armadillo? Garth _______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
