add flag for dense svd or sparse svd