CONDITION
Matrix Condition Number Estimation
CONDITION
is a C++ library 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:

1 <= kappa(A) for all matrices A.

1 = kappa(I), where I is the identity matrix.

for the L2 matrix norm, the condition number of any orthogonal matrix is 1.

for the L2 matrix norm, the condition number is the ratio of the maximum
to minimum singular values;
The CONDITION library needs access to a copy of the R8LIB library.
Licensing:
The computer code and data files described and made available on this
web page are distributed under
the GNU LGPL license.
Languages:
CONDITION is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version and
a Python version.
Related Data and Programs:
LINPACK_D,
a C++ library which
solves linear systems using double precision real arithmetic;
NAPACK,
a FORTRAN77 library which
includes many routines for applied numerical linear algebra tasks,
including the matrix condition number,
by William Hager.
R8LIB,
a C++ library which
contains many utility routines using double precision real (R8) arithmetic.
TEST_MAT,
a C++ library 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:

Alan Cline, Cleve Moler, Pete Stewart, James Wilkinson,
An estimate for the Condition Number of a Matrix,
Technical Report TM310,
Argonne National Laboratory, 1977.

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

William Hager,
Condition Estimates,
SIAM Journal on Scientific and Statistical Computing,
Volume 5, Number 2, June 1984, pages 311316.

Nicholas Higham,
A survey of condition number estimation for triangular matrices,
SIAM Review,
Volume 9, Number 4, December 1987, pages 575596.

Diane OLeary,
Estimating matrix condition numbers,
SIAM Journal on Scientific and Statistical Computing,
Volume 1, Number 2, June 1980, pages 205209.

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 403409.
Source Code:
Examples and Tests:
List of Routines:

COMBIN returns the COMBIN matrix.

COMBIN_INVERSE returns the inverse of the COMBIN matrix.

CONDITION_HAGER estimates the L1 condition number of a matrix.

CONDITION_LINPACK estimates the L1 condition number.

CONDITION_SAMPLE1 estimates the L1 condition number of a matrix.

CONEX1 returns the CONEX1 matrix.

CONEX1_INVERSE returns the inverse of the CONEX1 matrix.

CONEX2 returns the CONEX2 matrix.

CONEX2_INVERSE returns the inverse of the CONEX2 matrix.

CONEX3 returns the CONEX3 matrix.

CONEX3_INVERSE returns the inverse of the CONEX3 matrix.

CONEX4 returns the CONEX4 matrix.

CONEX4_INVERSE returns the inverse of the CONEX4 matrix.

KAHAN returns the KAHAN matrix.

KAHAN_INVERSE returns the inverse of the KAHAN matrix.

R8GE_FA performs a LINPACKstyle PLU factorization of a R8GE matrix.

R8GE_INVERSE computes the inverse of a R8GE matrix factored by R8GE_FA.

R8GE_SL solves a R8GE system factored by R8GE_FA.
You can go up one level to
the C++ source codes.
Last revised on 04 October 2012.