All, A while back I made a proposal for a SymmetricMatrix class. One of the problems I encountered is that there is just "too much" in the Matrix interfaces and abstract classes. In my opinion, pruning the interface would go a long way to make more of this stuff fit more easily. Since implementing the current set of interfaces is a bit onerous, you will have this pull to generate orphan classes or competing class hierarchies...
Going forward I can't help but see much more of these issues. I think there will be a lots of specializations of matrices and vectors. -Greg