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 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 TM-310,
          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 602-611.
         
        - 
          William Hager,
          Condition Estimates,
          SIAM Journal on Scientific and Statistical Computing,
          Volume 5, Number 2, June 1984, pages 311-316.
         
        - 
          Nicholas Higham,
          A survey of condition number estimation for triangular matrices,
          SIAM Review,
          Volume 9, Number 4, December 1987, pages 575-596.
         
        - 
          Diane OLeary,
          Estimating matrix condition numbers,
          SIAM Journal on Scientific and Statistical Computing,
          Volume 1, Number 2, June 1980, pages 205-209.
         
        - 
          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:
    
    
      
    
    
      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 LINPACK-style 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.