CONDITION 
 Matrix Condition Number Estimation
    
    
    
      CONDITION
      is a Python 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;
        
 
      
    
    
      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:
    
    
      
      TEST_MAT,
      a Python 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:
    
    
      
        - 
          combin.py
          returns the COMBIN matrix.
        
 
        - 
          cond_test.py,
          tests numpy's cond() function.
        
 
        - 
          condition_hager.py, 
          estimates the matrix L1 condition number using Hager's method.
        
 
        - 
          condition_linpack.py, 
          estimates the matrix L1 condition number using a method from LINPACK.
        
 
        - 
          condition_sample1.py, 
          estimates the matrix L1 condition number using sampling.
        
 
        - 
          conex1.py
          returns a 4 by 4 LINPACK  condition number counterexample matrix.
        
 
        - 
          conex2.py
          returns a 3 by 3 LINPACK  condition number counterexample matrix.
        
 
        - 
          conex3.py
          returns a LINPACK condition number counterexample matrix.
        
 
        - 
          conex4.py
          returns a 4 by 4 condition number matrix.
        
 
        - 
          i4vec_print.py,
          prints an I4VEC.
        
 
        - 
          kahan.py
          returns the KAHAN matrix.
        
 
        - 
          r8_normal_01.py,
          returns a unit pseudonormal R8;
        
 
        - 
          r8_sign.py, 
          returns the sign of an R8.
        
 
        - 
          r8_uniform_01.py,
          returns a unit pseudorandom R8.
        
 
        - 
          r8_uniform_ab.py,
          returns a scaled pseudorandom R8.
        
 
        - 
          r8ge.py, 
          functions to apply to a matrix stored in R8GE format.
        
 
        - 
          r8mat_norm_l1.py,
          returns the L1 norm of an R8MAT.
        
 
        - 
          r8mat_print.py,
          prints an R8MAT.
        
 
        - 
          r8mat_print_some.py,
          prints some of an R8MAT.
        
 
        - 
          r8mat_uniform_01.py, 
          returns a unit pseudorandom R8MAT;
        
 
        - 
          r8vec_max_abs_index.py,
          returns the index of the maximum absolute value entry in an R8VEC;
        
 
        - 
          r8vec_norm.py,
          computes the L2 norm of an R8VEC.
        
 
        - 
          r8vec_norm_l1.py,
          computes the L1 norm of an R8VEC.
        
 
        - 
          r8vec_normal_01.py, 
          returns an R8VEC of unit pseudonormal values;
        
 
        - 
          r8vec_print.py,
          prints an R8VEC.
        
 
        - 
          r8vec_uniform_01.py, 
          returns an R8VEC of unit pseudouniform values;
        
 
        - 
          r8vec_uniform_ab.py,
          returns a scaled pseudorandom R8VEC.
        
 
        - 
          r8vec_uniform_unit.py, 
          returns a random unit vector.
        
 
        - 
          timestamp.py
          returns the YMDHMS date as a timestamp.
        
 
      
    
    
      Examples and Tests:
    
    
      
    
    
      You can go up one level to 
      the Python source codes.
    
    
    
      Last revised on 06 July 2015.