In this lib a matrix is simply a collection of vectors. The idea is that the matrix types can be used to reduce the size of a large matrix and that the return types are basic enough so that other specialized matrix libs can do the rest of the work, e.g. inverting the resulting matrix.