svd#
- scipy.linalg.interpolative.svd(A, eps_or_k, rand=True, rng=None)[source]#
- Compute SVD of a matrix via an ID. - An SVD of a matrix A is a factorization: - A = U @ np.diag(S) @ V.conj().T - where U and V have orthonormal columns and S is nonnegative. - The SVD can be computed to any relative precision or rank (depending on the value of eps_or_k). - See also - interp_decompand- id_to_svd.- Parameters:
- Anumpy.ndarrayorscipy.sparse.linalg.LinearOperator
- Matrix to be factored, given as either a - numpy.ndarrayor a- scipy.sparse.linalg.LinearOperatorwith the matvec and rmatvec methods (to apply the matrix and its adjoint).
- eps_or_kfloat or int
- Relative error (if - eps_or_k < 1) or rank (if- eps_or_k >= 1) of approximation.
- randbool, optional
- Whether to use random sampling if A is of type - numpy.ndarray(randomized algorithms are always used if A is of type- scipy.sparse.linalg.LinearOperator).
- rngnumpy.random.Generator, optional
- Pseudorandom number generator state. When rng is None, a new - numpy.random.Generatoris created using entropy from the operating system. Types other than- numpy.random.Generatorare passed to- numpy.random.default_rngto instantiate a- Generator. If- randis- False, the argument is ignored.
 
- A
- Returns:
- Unumpy.ndarray
- 2D array of left singular vectors. 
- Snumpy.ndarray
- 1D array of singular values. 
- Vnumpy.ndarray
- 2D array right singular vectors. 
 
- U