NAPACK 
 A Numerical Linear Algebra Package
    
    
    
      NAPACK 
      is a FORTRAN77 library which
      handles various common tasks in numerical linear algebra and optimization,
      by William Hager.
    
    
      NAPACK  may be used to 
      
        - 
          solve linear systems;
        
 
        - 
          estimate the condition number of a matrix;
        
 
        - 
          compute the norm of a matrix;
        
 
        - 
          compute the determinant of a matrix;
        
 
        - 
          multiply a matrix by a vector; 
        
 
        - 
          invert a matrix;
        
 
        - 
          solve linear least squares problems;
        
 
        - 
          perform unconstrained minimization of a function f(x);
        
 
        - 
          compute eigenvalues and eigenvectors of a matrix;
        
 
        - 
          compute the singular value decomposition of a matrix;
        
 
        -  
          compute the QR factors of a matrix.
        
 
      
    
    
      The package has special routines for general, band, symmetric, indefinite, 
      tridiagonal, upper Hessenberg, and circulant matrices.
    
    
      Many of the routines use a standard naming convention, in which the first
      letter indicates the matrix type, and the remainder of the name indicates
      the operation.
    
    
      
        - 
          B, Band matrix;
        
 
        -     
          C, Complex matrix;
        
 
        - 
          E, Upper Hessenberg matrix;
        
 
        - 
          H, Symmetric band matrix;
        
 
        - 
          i, Symmetric matrix (symmetric pivoting);
        
 
        - 
          K, General matrix (complete pivoting);
        
 
        - 
          O, Circulant matrix;
        
 
        - 
          P, Tridiagonal matrix (partial pivoting);
        
 
        - 
          S, Symmetric matrix;
        
 
        - 
          T, Tridiagonal matrix;
        
 
      
    
    
      The original, true, correct version of NAPACK  
      is available through NETLIB:
      
                 http://www.netlib.org/napack/index.html".
    
    
      Languages:
    
    
      NAPACK is available in
      a FORTRAN77 version.
    
    
      Related Data and Programs:
    
    
      
      BLAS1,
      a FORTRAN77 library which
      contains level 1 basic linear algebra routines.
    
    
      
      CONDITION,
      a FORTRAN77 library which
      implements methods of computing or estimating the condition number of a matrix.
    
    
      
      DLAP,
      a FORTRAN90 library which
      carries out the iterative solution of sparse linear systems.
    
    
      
      GSL, 
      a C++ library which
      includes many linear algebra routines.
    
    
      
      LAPACK_EXAMPLES,
      a FORTRAN77 program which
      demonstrates the use of the LAPACK linear algebra library.
    
    
      
      LINPACK, 
      a FORTRAN77 library which
      factors and solves systems of linear equations in a variety of
      formats and arithmetic types.
    
    
      
      LINPLUS,
      a FORTRAN77 library which
      factors and solves systems of linear equations in a variety of
      formats and arithmetic types.
    
    
      
      MGMRES,
      a FORTRAN77 library which 
      applies the restarted GMRES algorithm to solve a sparse linear system.
    
    
      
      SPARSEKIT, 
      a FORTRAN77 library which
      carries out operations on sparse matrices, including conversion between various formats.
    
    
      
      TEST_MAT,
      a FORTRAN77 library which 
      defines test matrices, some of
      which have known determinants, eigenvalues and eigenvectors,
      inverses and so on.
    
    
      Author:
    
    
      William Hager
    
    
      Reference:
    
    
      
        - 
          William Hager,
          Applied Numerical Linear Algebra,
          Prentice-Hall, 1988,
          ISBN13: 978-0130412942,
          LC: QA184.H33.
         
        - 
          William Hager,
          Condition Estimates,
          SIAM Journal on Scientific and Statistical Computing,
          Volume 5, Number 2, June 1984, pages 311-316.
         
      
    
    
      Source Code:
    
    
      
    
    
      Examples and Tests:
    
    
      
    
    
      List of Routines:
    
    
      
        - 
          ADDCHG adds an increment vector to a vector.
        
 
        - 
          AHESS balances a real matrix, and reduces it to upper Hessenberg form.
        
 
        - 
          AMAG returns the L1 norm of a complex number.
        
 
        - 
          BAL balances (rescales the rows and columns of) a real matrix.
        
 
        - 
          BASIS computes an orthonormal basis for a collection of vectors
        
 
        - 
          BCON estimates the condition number of a band matrix.
        
 
        - 
          BDET computes the determinant of a band matrix factored by BFACT.
        
 
        - 
          BFACT factors a band matrix with partial pivoting.
        
 
        - 
          BIDAG reduces a general matrix to bidiagonal form
        
 
        - 
          BIDAG2 reduces a general matrix a to bidiagonal form.
        
 
        - 
          BMULT multiplies a real band matrix a by a vector x.
        
 
        - 
          BSOLVE solves a factored band system.
        
 
        - 
          BTRANS solves transpose of a factored band system
        
 
        - 
          BVERT inverts a band matrix
        
 
        - 
          CAHESS balances a complex matrix, and reduces it to Upper Hessenberg form.
        
 
        - 
          CBALL balances (rescales the rows and columns of) a complex matrix.
        
 
        - 
          CC
        
 
        - 
          CDIAG diagonalizes a general complex matrix.
        
 
        - 
          CEDIAG diagonalizes a complex Hessenberg matrix.
        
 
        - 
          CEF
        
 
        - 
          CEIG
        
 
        - 
          CEMULT mltiplies a complex Hessenberg matrix by a complex vector.
        
 
        - 
          CEVALS computes all eigenvalues of a complex Hessenberg matrix.
        
 
        - 
          CEVECT computes an eigenvector of a complex Hessenberg matrix.
        
 
        - 
          CHESS reduces a complex matrix to Hessenberg form.
        
 
        - 
          CON estimates the 1-norm condition number of a general matrix.
        
 
        - 
          CONG minimizes a function using the conjugate gradient method.
        
 
        - 
          CP
        
 
        - 
          CPACK packs the elements of a complex array.
        
 
        - 
          CPOWER uses the power method for a complex matrix.
        
 
        - 
          CSIM computes the Hessenberg similarity transform for a complex matrix.
        
 
        - 
          CUB
        
 
        - 
          CUBIC
        
 
        - 
          CUNPACK reverses the operation of CPACK by unpacking the matrix.
        
 
        - 
          CVALS computes the eigenvalues of a general complex matrix.
        
 
        - 
          CVC
        
 
        - 
          CVECT computes an eigenvector of a general complex matrix.
        
 
        - 
          CVERT inverts a complex matrix.
        
 
        - 
          CZERO computes zeros of a complex polynomial.
        
 
        - 
          DAG diagonalizes a complex Hessenberg matrix.
        
 
        - 
          DB
        
 
        - 
          DET computes the determinant of a matrix factored by FACT.
        
 
        - 
          DIAG diagonalizes a general real matrix.
        
 
        - 
          ECON computes the condition number of an upper Hessenberg matrix.
        
 
        - 
          EDET computes the determinant of an upper Hessenberg matrix.
        
 
        - 
          EDIAG diagonalizes an upper Hessenberg matrix.
        
 
        - 
          EFACT factors an upper Hessenberg matrix.
        
 
        - 
          EIG2
        
 
        - 
          EIG3
        
 
        - 
          EMULT multiplies an upper Hessenberg matrix times a vector.
        
 
        - 
          EQL
        
 
        - 
          ERR
        
 
        - 
          ESOLVE solves an upper Hessenberg linear system factored by EFACT.
        
 
        - 
          ETRANS solves a transposed upper Hessenberg linear system factored by EFACT.
        
 
        - 
          EVALS computes the eigenvalues of an upper Hessenberg matrix.
        
 
        - 
          EVECT computes the eigenvectors of an upper Hessenberg matrix.
        
 
        - 
          EVERT inverts an upper Hessenberg matrix.
        
 
        - 
          FACT factors a general matrix, using partial pivoting.
        
 
        - 
          FD
        
 
        - 
          FF
        
 
        - 
          FFC computes the conjugate Fast Fourier Transform.
        
 
        - 
          FFC0
        
 
        - 
          FFT computes the Fast Fourier Transform.
        
 
        - 
          FFT0
        
 
        - 
          FGV
        
 
        - 
          FV
        
 
        - 
          FVD
        
 
        - 
          HCON estimates the condition number of a symmetric band matrix.
        
 
        - 
          HDET computes the determinant of a symmetric band matrix.
        
 
        - 
          HDIAG diagonalizes a symmetric band matrix.
        
 
        - 
          HESS reduces a real matrix to Hessenberg form.
        
 
        - 
          HFACT factors a symmetric band matrix.
        
 
        - 
          HHESS reduces a real symmetric matrix to tridiagonal form.
        
 
        - 
          HMULT multiplies a symmetric band matrix times a vector.
        
 
        - 
          HSE
        
 
        - 
          HSIM reduces a real symmetric band matrix to tridiagonal form.
        
 
        - 
          HSOLVE solves a symmetric band matrix linear system.
        
 
        - 
          HSR1
        
 
        - 
          HSR2
        
 
        - 
          HSR3
        
 
        - 
          HSR4
        
 
        - 
          HSR5
        
 
        - 
          HTR
        
 
        - 
          HTR2
        
 
        - 
          HVALS computes the eigenvalues of a symmetric band matrix.
        
 
        - 
          HVECT computes the eigenvectors of a symmetric band matrix.
        
 
        - 
          HVERT inverts a symmetric band matrix.
        
 
        - 
          ICON estimates the condition number of a symmetric matrix.
        
 
        - 
          IDET computes the determinant of a symmetric matrix.
        
 
        - 
          IFACT computes the LU factorization of a symmetric matrix.
        
 
        - 
          INP
        
 
        - 
          INS
        
 
        - 
          ISIG returns a sign function of a real number.
        
 
        - 
          ISOLVE solves a symmetric linear system.
        
 
        - 
          IVERT inverts a symmetric matrix.
        
 
        - 
          JT (???Jenkins-Traub?))
        
 
        - 
          KCON estimates the condition number of a general matrix.
        
 
        - 
          KDET computes the determinant of a general matrix.
        
 
        - 
          KFACT factors a general matrix.
        
 
        - 
          KSOLVE solves a general linear system.
        
 
        - 
          KTRANS solves a transposed general linear system.
        
 
        - 
          KVERT inverts a general matrix.
        
 
        - 
          LANCZ performs an iteration of Lanczos method to reduce a matrix to tridiagonal form.
        
 
        - 
          MPOWER
        
 
        - 
          MULT computes a matrix-vector product.
        
 
        - 
          NEWTON applies one step of Newton's method to the characteristic polynomial for a tridiagonal matrix
        
 
        - 
          NORM1 estimates the 1-norm of a matrix.
        
 
        - 
          NULL computes an orthonormal basis for the space perpendicular to a given collection of vectors
        
 
        - 
          OMULT multiplies a circulant matrix times a vector.
        
 
        - 
          OSOLVE solves a circulant linear system.
        
 
        - 
          OVALS computes the eigenvalues of a circulant matrix.
        
 
        - 
          OVER computes the least squares solution to an overdetermined linear system.
        
 
        - 
          OVERT inverts a circulant matrix.
        
 
        - 
          PACK
        
 
        - 
          PCON estimates the condition number of a tridiagonal matrix.
        
 
        - 
          PDET computes the determinant of a tridiagonal matrix.
        
 
        - 
          PFACT factors a tridiagonal matrix.
        
 
        - 
          POWER
        
 
        - 
          PRECG solves a linear system using (preconditioned) conjugate gradients.
        
 
        - 
          PSEUDO computes the regularized pseudoinverse,
        
 
        - 
          PSOLVE solves a tridiagonal linear system.
        
 
        - 
          PTRANS solves a transposed tridiagonal linear system.
        
 
        - 
          PVECT computes the eigenvectors of a tridiagonal matrix.
        
 
        - 
          PVERT inverts a tridiagonal matrix.
        
 
        - 
          PWK
        
 
        - 
          PX
        
 
        - 
          QAD
        
 
        - 
          QR computes the QR factorization of a general matrix with column pivoting.
        
 
        - 
          QUASI uses a quasi-Newton method to solve a nonlinear system.
        
 
        - 
          R4MAT_NORM_L1 returns the matrix L1 norm of an R4MAT.
        
 
        - 
          R4MAT_PRINT prints an R4MAT.
        
 
        - 
          R4MAT_PRINT_SOME prints some of an R4MAT.
        
 
        - 
          RAD
        
 
        - 
          RFN
        
 
        - 
          ROOT solves a scalar nonlinear equation.
        
 
        - 
          RPACK
        
 
        - 
          RSOLVE computes the regularized solution to a linear system.
        
 
        - 
          RUNPACK reverses the operation of RPACK by unpacking the matrix.
        
 
        - 
          RVC
        
 
        - 
          SCI
        
 
        - 
          SCON estimates the condition number of a symmetric matrix.
        
 
        - 
          SDET computes the determinant of a symmetric matrix.
        
 
        - 
          SDIAG
        
 
        - 
          SDIAG2 is the same as SDIAG, but the matrix is not stored in compressed format.
        
 
        - 
          SFACT computes the LU factorization of a symmetric matrix.
        
 
        - 
          SFT
        
 
        - 
          SHESS
        
 
        - 
          SIM
        
 
        - 
          SING computes the singular value decomposition of a general matrix.
        
 
        - 
          SINGB computes the singular value decomposition of a bidiagonal matrix
        
 
        - 
          SLICE computes the eigenvalues in a given interval for a tridiagonal matrix.
        
 
        - 
          SMULT
        
 
        - 
          SNG0
        
 
        - 
          SNG1
        
 
        - 
          SOLVE
        
 
        - 
          SORT
        
 
        - 
          SORT2
        
 
        - 
          SQ
        
 
        - 
          SQR
        
 
        - 
          SSIM
        
 
        - 
          SSOLVE
        
 
        - 
          STM
        
 
        - 
          STM2
        
 
        - 
          STO
        
 
        - 
          STOPIT performs a test for convergence.
        
 
        - 
          STP
        
 
        - 
          SVALS computes the eigenvalues of a symmetric matrix.
        
 
        - 
          SVECT computes the eigenvectors of a symmetric matrix.
        
 
        - 
          SVERT inverts a symmetric matrix.
        
 
        - 
          TCON estimates the condition number of a tridiagonal matrix.
        
 
        - 
          TDET computes the determinant of a tridiagonal matrix.
        
 
        - 
          TDG
        
 
        - 
          TDIAG diagonalizes a tridiagonal matrix.
        
 
        - 
          TFACT computes the LU factorization of a tridiagonal matrix.
        
 
        - 
          TIMESTAMP prints out the current YMDHMS date as a timestamp.
        
 
        - 
          TMULT multiplies a tridiagonal matrix times a vector.
        
 
        - 
          TRANS solves A' * x = b, after A has been factored.
        
 
        - 
          TSOLVE solves a tridiagonal linear system.
        
 
        - 
          TTRANS solves a transposed tridiagonal linear system.
        
 
        - 
          TVAL computes the k-th smallest or largest eigenvalue of a tridiagonal matrix whose cross-diagonal products are nonnegative.
        
 
        - 
          TVALS computes the eigenvalues of a tridiagonal matrix.
        
 
        - 
          TVECT computes the eigenvectors of a tridiagonal matrix.
        
 
        - 
          TVERT inverts a tridiagonal matrix.
        
 
        - 
          UNDER computes the least squares (minimum norm) solution to an underdetermined linear system.
        
 
        - 
          UNPACK reverses the operation of PACK by unpacking the matrix.
        
 
        - 
          UPDATE updates a vector, and computes the difference and norm.
        
 
        - 
          VALS computes all eigenvalues of a general real matrix.
        
 
        - 
          VECT computes an eigenvector of a general real matrix.
        
 
        - 
          VERT inverts a general matrix.
        
 
        - 
          VLS computes all eigenvalues of a complex Hessenberg matrix.
        
 
        - 
          WHATIS prints the iteration number, iteration difference, and stopping criterion.
        
 
        - 
          XP
        
 
      
    
    
      You can go up one level to 
      the FORTRAN77 source codes.
    
    
    
      Last revised on 16 November 2011.