condition


condition, a Python code which implements methods for computing or estimating the condition number of a matrix.

Let ||*|| be a matrix norm, let A be an invertible matrix, and inv(A) the inverse of A. The condition number of A with respect to the norm ||*|| is defined to be

        kappa(A) = ||A|| * ||inv(A)||
      

If A is not invertible, the condition number is taken to be infinity.

Facts about the condition number include:

Licensing:

The computer code and data files described and made available on this web page are distributed under the MIT license

Languages:

condition is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

test_mat, a Python code which defines test matrices for which some of the determinant, eigenvalues, inverse, null vectors, P*L*U factorization or linear system solution are already known.

Reference:

  1. Alan Cline, Cleve Moler, Pete Stewart, James Wilkinson,
    An estimate for the Condition Number of a Matrix,
    Technical Report TM-310,
    Argonne National Laboratory, 1977.
  2. Alan Cline, Russell Rew,
    A set of counterexamples to three condition number estimators,
    SIAM Journal on Scientific and Statistical Computing,
    Volume 4, Number 4, December 1983, pages 602-611.
  3. William Hager,
    Condition Estimates,
    SIAM Journal on Scientific and Statistical Computing,
    Volume 5, Number 2, June 1984, pages 311-316.
  4. Nicholas Higham,
    A survey of condition number estimation for triangular matrices,
    SIAM Review,
    Volume 9, Number 4, December 1987, pages 575-596.
  5. Diane OLeary,
    Estimating matrix condition numbers,
    SIAM Journal on Scientific and Statistical Computing,
    Volume 1, Number 2, June 1980, pages 205-209.
  6. Pete Stewart,
    Efficient Generation of Random Orthogonal Matrices With an Application to Condition Estimators,
    SIAM Journal on Numerical Analysis,
    Volume 17, Number 3, June 1980, pages 403-409.

Source Code:


Last revised on 19 January 2020.