scipy.linalg.interpolative.
svd#
- scipy.linalg.interpolative.svd(A, eps_or_k, rand=True)[源代码][源代码]#
通过ID计算矩阵的SVD。
矩阵 A 的 SVD 是一种分解:
A = numpy.dot(U, numpy.dot(numpy.diag(S), V.conj().T))
其中 U 和 V 的列是正交的,且 S 是非负的。
SVD 可以计算到任何相对精度或秩(取决于 eps_or_k 的值)。
另请参阅
interp_decomp
和id_to_svd
。- 参数:
- A :
numpy.ndarray
或scipy.sparse.linalg.LinearOperator
numpy.ndarray 或 scipy.sparse.linalg.LinearOperator 待分解的矩阵,可以是
numpy.ndarray
或具有 matvec 和 rmatvec 方法的 :class:`scipy.sparse.linalg.LinearOperator`(用于应用矩阵及其伴随矩阵)。- eps_or_k浮点数或整数
相对误差(如果 eps_or_k < 1)或近似秩(如果 eps_or_k >= 1)。
- randbool, 可选
如果 A 是类型为
numpy.ndarray
的对象,是否使用随机采样(如果 A 是类型为scipy.sparse.linalg.LinearOperator
的对象,则始终使用随机算法)。
- A :
- 返回:
- U
numpy.ndarray
左奇异向量。
- S
numpy.ndarray
奇异值。
- V
numpy.ndarray
右奇异向量。
- U