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