tools for matrix manipulation, incl the SVD of a product of matrices