#### Previous topic

scipy.linalg.svd

#### Next topic

scipy.linalg.diagsvd

# scipy.linalg.svdvals

`scipy.linalg.``svdvals`(a, overwrite_a=False, check_finite=True)

  Compute singular values of a matrix.

  Parameters:

  a : (M, N) array_like

  > Matrix to decompose.

  overwrite_a : bool, optional

  > Whether to overwrite a; may improve performance. Default is False.

  check_finite : bool, optional

  > Whether to check that the input matrix contains only finite numbers. Disabling may give a performance gain, but may result in problems (crashes, non-termination) if the inputs do contain infinities or NaNs.

  Returns:

  s : (min(M, N),) ndarray

  > The singular values, sorted in decreasing order.

  Raises:

  LinAlgError

  > If SVD computation does not converge.

  See also

  `svd`
    Compute the full singular value decomposition of a matrix.
  `diagsvd`
    Construct the Sigma matrix, given the vector s.

  Notes

  `svdvals(a)` only differs from `svd(a, compute_uv=False)` by its handling of the edge case of empty `a`, where it returns an empty sequence:

      >>> a = np.empty((0, 2))
      >>> from scipy.linalg import svdvals
      >>> svdvals(a)
      array([], dtype=float64)