numpy.linalg.svdvals#

linalg.svdvals(x, /)[源代码]#

返回矩阵(或矩阵堆栈)``x`` 的奇异值.当 x 是矩阵堆栈时,函数将为堆栈中的每个矩阵计算奇异值.

此函数与 Array API 兼容.

调用 np.svdvals(x) 获取奇异值与 np.svd(x, compute_uv=False, hermitian=False) 相同.

参数:
x(…, M, N) array_like

具有形状 (…, M, N) 的输入数组,其最后两个维度形成要在其上执行奇异值分解的矩阵.应具有浮点数据类型.

返回:
outndarray

一个形状为 (…, K) 的数组,包含长度为 K 的奇异值向量,其中 K = min(M, N).

参见

scipy.linalg.svdvals

计算矩阵的奇异值.

示例

>>> np.linalg.svdvals([[1, 2, 3, 4, 5],
...                    [1, 4, 9, 16, 25],
...                    [1, 8, 27, 64, 125]])
array([146.68862757,   5.57510612,   0.60393245])

使用奇异值确定矩阵的秩:

>>> s = np.linalg.svdvals([[1, 2, 3],
...                        [2, 4, 6],
...                        [-1, 1, -1]]); s
array([8.38434191e+00, 1.64402274e+00, 2.31534378e-16])
>>> np.count_nonzero(s > 1e-10)  # Matrix of rank 2
2