UMFPACK_2.0 Solution of Sparse Unsymmetric Linear Systems

UMFPACK_2.0 is a FORTRAN77 library which solves unsymmetric sparse linear systems, and represents an obsolete version of the program which has since been rewritten in C, by Timothy Davis, Iain Duff.

UMFPACK Version 2.0 is a package for solving systems of sparse linear systems, Ax=b, where A is sparse and can be unsymmetric. It is written in ANSI Fortran77. There are options for choosing a good pivot order, factorizing a subsequent matrix with the same pivot order and nonzero pattern as a previously factorized matrix, and solving systems of linear equations with the factors (with A, L, or U, or their transposes). Iterative refinement, with sparse backward error estimates, can be performed. Both single and double precision routines are available.

There are four primary routines that can be called by the user (where "*" is D for double precision or S for single precision):

• UM*2IN: sets the default the control parameters for UM*2FA, UM*2RF, and UM*2SO.
• UM*2FA: factors A into PAQ=LU, finding the pivot order (P and Q) based on both numerical and fill-reducing criteria. This routine performs both symbolic and numerical factorization in a single step.
• UM*2RF: factors A into PAQ=LU, using information (same P and Q and the same symbolic factorization) from a prior call to UM*2FA. Normally significantly faster than UM*2FA, since UM*2RF only performs numerical factorization.
• UM*2SO: solves a system of linear equations using the factors, optionally performing iterative refinement.

Licensing:

***********************************************************************
* NOTICE:  "The UMFPACK Package may be used SOLELY for educational,   *
* research, and benchmarking purposes by non-profit organizations and *
* the U.S. government.  Commercial and other organizations may make  *
* use of UMFPACK SOLELY for benchmarking purposes only.  UMFPACK may  *
* be modified by or on behalf of the User for such use but at no time *
* shall UMFPACK or any such modified version of UMFPACK become the    *
* property of the User.  UMFPACK is provided without warranty of any  *
* kind, either expressed or implied.  Neither the Authors nor their   *
* employers shall be liable for any direct or consequential loss or   *
* damage whatsoever arising out of the use or misuse of UMFPACK by    *
* the User.  UMFPACK must not be sold.  You may make copies of        *
* UMFPACK, but this NOTICE and the Copyright notice must appear in    *
* all copies.  Any other use of UMFPACK requires written permission.  *
* Your use of UMFPACK is an implicit agreement to these conditions."  *
*                                                                     *
* The MA38 Package in the Harwell Subroutine Library (HSL) has        *
* equivalent functionality (and identical calling interface) as       *
* UMFPACK.  It is available for commercial use.   Technical reports,  *
* information on HSL, and matrices are available via the World Wide   *
* Web at http://www.cis.rl.ac.uk/struct/ARCD/NUM.html, or by          *
* anonymous ftp at seamus.cc.rl.ac.uk/pub.  Also contact John         *
* Harding, Harwell Subroutine Library, B 552, AEA Technology,         *
* Harwell, Didcot, Oxon OX11 0RA, England.                            *
* telephone (44) 1235 434573, fax (44) 1235 434340,                   *
* email john.harding@aeat.co.uk, who will provide details of price    *
* and conditions of use.                                              *
***********************************************************************

Languages:

UMFPACK_2.0 is available in a FORTRAN77 version.

Related Data and Programs:

MGMRES, a FORTRAN77 library which applies the restarted Generalized Minimum Residual (GMRES) algorithm to solve a sparse linear system, by Lili Ju.

SPARSEKIT, a FORTRAN77 library which implements operations on sparse matrices, including conversion between various formats, by Yousef Saad.

SPARSEPAK, a FORTRAN77 library which forms an obsolete version of the Waterloo Sparse Matrix Package.

TEMPLATED, a FORTRAN77 library which carries out simple versions of various iterative solvers. This is the double precision version.

TEMPLATES, a FORTRAN77 library which carries out simple versions of various iterative solvers. This is the single precision version.

UMFPACK, FORTRAN77 programs which demonstrate the use of the C library UMFPACK to solve large sparse linear systems of equations.

Author:

Timothy Davis, Iain Duff

Reference:

1. Timothy Davis,
Algorithm 832: UMFPACK, an unsymmetric-pattern multifrontal method,
ACM Transactions on Mathematical Software,
Volume 30, Number 2, June 2004, pages 196-199.
2. Timothy Davis,
Direct Methods for Sparse Linear Systems,
SIAM, 2006,
ISBN: 0898716136,
LC: QA188.D386.

List of Routines:

• UMS2CO converts matrix from triplet to column-oriented form.
• UMS2ER prints error and warning messages and sets error flags.
• UMS2F0 factors an unsymmetric sparse matrix in column form.
• UMS2F1 is a utility routine which factors part of the matrix.
• UMS2F2 is a utility routine which factors part of the matrix.
• UMS2FA computes the LU factors of a sparse matrix.
• UMS2FB is a utility function which finds permutations to block triangular form.
• UMS2FG is a utility routine which performs garbage collection.
• UMS2IN initializes program parameters to default values.
• UMS2LT is a utility routine which solves a lower triangular system.
• UMS2OF is a utility routine which permutes off-diagonal blocks.
• UMS2P1 is a utility function which prints arguments for several other routines.
• UMS2P2 is a utility which prints error and warning messages for several functions.
• UMS2R0 is a utility which refactors a sparse matrix.
• UMS2R2 is a utility which refactors part of a matrix.
• UMS2RA is a utility which converts a column-oriented matrix to arrowhead form.
• UMS2RF computes the LU factorization of a sparse matrix.
• UMS2RG is a utility which performs garbage collection for UMS2R2.
• UMS2S2 is a utility routine which solves a factored system.
• UMS2SL is a utility which solves a lower triangular system.
• UMS2SO solves a linear system associated with a factored sparse matrix.
• UMS2SU is a utility which solves an upper triangular system.
• UMS2UT is a utility which solves an upper triangular system.
• ISAMAX returns the index of the vector element of maximum absolute value.
• SGEMM computes C = alpha*A*B + beta*C with optional transposes.
• SGEMV computes y = alpha*A*x+beta*y with optional transpose.
• STRSM solves A*x=alpha*B with optional transposes.
• STRSV solves A*x=b or A'*x=b.
• LSAME determines whether two characters are equal.
• MC13E permutes a sparse matrix to block triangular form.
• MC21B permutes a sparse matrix to put entries on the diagonal.
• XERBLA is an error handler for LAPACK routines.

You can go up one level to the FORTRAN77 source codes.

Last revised on 01 February 2014.