adding SVD singular value decomposition