simplified _solve_svd