changed svd method to output non-full matrices