numpy.linalg.svdvals#

linalg.svdvals(x, /)[source]#

Returns the singular values of a matrix (or a stack of matrices) x. When x is a stack of matrices, the function will compute the singular values for each matrix in the stack.

This function is Array API compatible.

Calling np.svdvals(x) to get singular values is the same as np.svd(x, compute_uv=False, hermitian=False).

Parameters:
x(…, M, N) array_like

Input array having shape (…, M, N) and whose last two dimensions form matrices on which to perform singular value decomposition. Should have a floating-point data type.

Returns:
outndarray

An array with shape (…, K) that contains the vector(s) of singular values of length K, where K = min(M, N).

See also

scipy.linalg.svdvals

Compute singular values of a matrix.

Examples

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

Determine the rank of a matrix using singular values:

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