svd works for non-square matrices