#### Previous topic

numpy.linalg.norm

#### Next topic

numpy.linalg.det

# numpy.linalg.cond

`numpy.linalg.``cond`(x, p=None)

  Compute the condition number of a matrix.

  This function is capable of returning the condition number using one of seven different norms, depending on the value of p (see Parameters below).

  > Parameters: | x : (..., M, N) array_like The matrix whose condition number is sought. p : {None, 1, -1, 2, -2, inf, -inf, ‘fro’}, optional Order of the norm:
  > p | norm for matrices
  > --- | ---
  > None | 2-norm, computed directly using the `SVD`
  > ‘fro’ | Frobenius norm
  > inf | max(sum(abs(x), axis=1))
  > -inf | min(sum(abs(x), axis=1))
  > 1 | max(sum(abs(x), axis=0))
  > -1 | min(sum(abs(x), axis=0))
  > 2 | 2-norm (largest sing. value)
  > -2 | smallest singular value
  inf means the numpy.inf object, and the Frobenius norm is the root-of-sum-of-squares norm.
  Returns: | c : {float, inf} The condition number of the matrix. May be infinite.

  See also

  `numpy.linalg.norm`

  Notes

  The condition number of x is defined as the norm of x times the norm of the inverse of x [R37]; the norm can be the usual L2-norm (root-of-sum-of-squares) or one of a number of other matrix norms.

  References

  [R37] | (1, 2) G. Strang, Linear Algebra and Its Applications, Orlando, FL, Academic Press, Inc., 1980, pg. 285.

  Examples

      >>> from numpy import linalg as LA
      >>> a = np.array([[1, 0, -1], [0, 1, 0], [1, 0, 1]])
      >>> a
      array([[ 1,  0, -1],
             [ 0,  1,  0],
             [ 1,  0,  1]])
      >>> LA.cond(a)
      1.4142135623730951
      >>> LA.cond(a, 'fro')
      3.1622776601683795
      >>> LA.cond(a, np.inf)
      2.0
      >>> LA.cond(a, -np.inf)
      1.0
      >>> LA.cond(a, 1)
      2.0
      >>> LA.cond(a, -1)
      1.0
      >>> LA.cond(a, 2)
      1.4142135623730951
      >>> LA.cond(a, -2)
      0.70710678118654746
      >>> min(LA.svd(a, compute_uv=0))*min(LA.svd(LA.inv(a), compute_uv=0))
      0.70710678118654746