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

其中UV具有正交列,而S是非负的。

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

另请参见 interp_decompid_to_svd.

参数:
Anumpy.ndarrayscipy.sparse.linalg.LinearOperator

要分解的矩阵,作为 numpy.ndarray 或具有matvecrmatvec方法(用于应用矩阵及其伴随)的scipy.sparse.linalg.LinearOperator

eps_or_kfloat 或 int

近似的相对误差(如果eps_or_k < 1)或秩(如果eps_or_k >= 1)。

randbool,可选

如果Anumpy.ndarray类型,是否使用随机采样(如果Ascipy.sparse.linalg.LinearOperator类型,则始终使用随机算法)。

返回值:
Unumpy.ndarray

左奇异向量。

Snumpy.ndarray

奇异值。

Vnumpy.ndarray

右奇异向量。