> And last but not the least, have you given any thought to supporting
> block sparse matrices?
This is very tricky and I'm still not sure how to implement it the
most efficient and simple way. Indeed, the idea is of course to reuse
the SparseMatrix class and let it stores small fixed size dense Matrix
for the scalar type. For instance, let's assume a 300x300 block matrix
represented as a 100x100 standard sparse matrix of Matrix3d. The pb is
that depending on the context, sometimes we want to see it as a
300x300 matrix of double, and sometimes as a 100x100 matrix of
Matrix3d blocks. So this probably requires a lot of work to get it
right.
It would also be really useful to support block sparse where the blocks are themselves sparse too. You run into this a lot in solutions of pde's.