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))

其中 UV 的列是正交的,且 S 是非负的。

SVD 可以计算到任何相对精度或秩(取决于 eps_or_k 的值)。

另请参阅 interp_decompid_to_svd

参数:
A : numpy.ndarrayscipy.sparse.linalg.LinearOperatornumpy.ndarray 或 scipy.sparse.linalg.LinearOperator

待分解的矩阵,可以是 numpy.ndarray 或具有 matvecrmatvec 方法的 :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 的对象,则始终使用随机算法)。

返回:
Unumpy.ndarray

左奇异向量。

Snumpy.ndarray

奇异值。

Vnumpy.ndarray

右奇异向量。