scipy.linalg.interpolative.
svd#
- scipy.linalg.interpolative.svd(A, eps_or_k, rand=True)[source]#
通过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
或具有matvec和rmatvec方法(用于应用矩阵及其伴随)的scipy.sparse.linalg.LinearOperator
。- eps_or_kfloat 或 int
近似的相对误差(如果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