last modified: 01-DEC-1989 | catalog | categories | new | search |

NESC0800 LINPACK.

LINPACK, Subroutine Library for Linear Equation System Solution and Matrix Calculation

top ]
1. NAME OR DESIGNATION OF PROGRAM:  LINPACK
top ]
2. COMPUTERS
To submit a request, click below on the link of the version you wish to order. Only liaison officers are authorised to submit online requests. Rules for requesters are available here.
Program name Package id Status Status date
LINPACK NESC0800/01 Tested 01-DEC-1979

Machines used:

Package ID Orig. computer Test computer
NESC0800/01 IBM 370 series IBM 370 series
top ]
3. DESCRIPTION OF PROBLEM OR FUNCTION

LINPACK is a collection of FORTRAN subroutines which analyze and solve  various classes of systems of simultaneous linear algebraic equations. The collection deals with general, banded, symmetric indefinite, symmetric positive definite, triangular, and tridiagonal square matrices, as well as with least squares problems and the QR and singular value decompositions of rectangular matrices. A subroutine-naming convention is employed in which each subroutine name consists of five letters which represent a coded specification (TXXYY) of the computation done by that subroutine. The first letter, T, indicates the matrix data type. Standard FORTRAN allows the use of three such types: S REAL, D DOUBLE PRECISION, and C COMPLEX. In addition, some FORTRAN systems allow a double-precision complex type: Z COMPLEX*16. The second and third letters of the subroutine name, XX, indicate the form of the matrix or its decomposition:

             GE  General              
             GB  General band
             PO  Positive definite
             PP  Positive definite packed
             PB  Positive definite band
             SI  Symmetric indefinite
             SP  Symmetric indefinite packed
             HI  Hermitian indefinite
             HP  Hermitian indefinite packed
             TR  Triangular
             GT  General tridiagonal
             PT  Positive definite tridiagonal
             CH  Cholesky decomposition
             QR  Orthogonal-triangular decomposition
             SV  Singular value decomposition

The final two letters, YY, indicate the computation done by the particular subroutine:
             FA  Factor
             CO  Factor and estimate condition
             SL  Solve
             DI  Determinant and/or inverse and/or inertia
             DC  Decompose
             UD  Update
             DD  Downdate
             EX  Exchange

The following chart shows all the LINPACK subroutines. The initial 'S' in the names may be replaced by D, C or Z and the initial 'C' in the complex-only names may be replaced by a Z.

                    FA    CO    SL    DI    DC    UD    DD    EX

             SGE     x     x     x     x
             SGB     x     x     x     x
             SPO     x     x     x     x
             SPP     x     x     x     x
             SPB     x     x     x     x
             SSI     x     x     x     x
             SSP     x     x     x     x
             CHI     x     x     x     x
             CHP     x     x     x     x
             STR           x     x
             SGT                 x
             SPT                 x
             SCH                             x     x     x     x
             SQR                 x           x
             SSV                             x

The LINPACK package also includes a set of routines to perform  basic vector operations called the Basic Linear Algebra Subprograms (BLAS).
top ]
4. METHOD OF SOLUTION

Gaussian elimination, Cholesky decomposition, QR, and singular value decomposition methods are used.
top ]
5. RESTRICTIONS ON THE COMPLEXITY OF THE PROBLEM

There are no subroutines for general sparse matrices or for iterative methods for very large problems.
top ]
6. TYPICAL RUNNING TIME

Running time varies with problem size. NESC executed each test case in about 8 seconds on Argonne's IBM370/195.
top ]
7. UNUSUAL FEATURES OF THE PROGRAM

The LINPACK subroutines contain no machine-dependent constants, input or output statements, character manipulations, COMMON or EQUIVALENCE statements, nor mixed-mode arithmetic. All subroutines except those with names beginning with Z use the portable subset of ANSI FORTRAN. The LINPACK project supports this software in the sense that detailed information on the testing procedures is available, and reports of poor or incorrect performance in conventional FORTRAN operating environments will gain immediate attention from the developers.
top ]
8. RELATED AND AUXILIARY PROGRAMS:
top ]
9. STATUS
Package ID Status date Status
NESC0800/01 01-DEC-1979 Tested at NEADB
top ]
10. REFERENCES

- J.J. Dongarra, J.R. Bunch, C.B. Moler, G.W. Stewart:
LINPACK Users' Guide, Society  for Industrial and Applied Mathematics, Philadelphia, Pennsylvania, 1979.
- J.J. Dongarra and C.B. Moler:
LINPACK Working Note #13: Implementation Guide  for  LINPACK, ANL-80-105, October 1980.
- LINPACK, NESC No. 800, Description of "How to Bring up LINPACK on  a UNIX Version 7 System", National Energy Software Center Note 79-64, August 6, 1979.
NESC0800/01, included references:
- C.L. Lawson, R.J. Hanson, D.R. Kincaid and F.T. Krough:
Basic Linear Algebra Subprograms for FORTRAN Usage SAND77-0898  (October 1977)
- J.J. Dongarra and C.B. Moler:
LINPACK Working Note #13: Implementation Guide  for  LINPACK, Technical Memo
No. 330  (February 1979)
- Implementation and Testing of the Software Package LINPACK on DVA SIEMENS
7.80-S at the Computing Centre, University of Dusseldorf (in German) received
November 1989
- LINPACK User's Guide: This Guide is available at a cost of $17.00 per copy
with a 10% discount given for order of fifteen or more copies. If individuals
are SIAM members they can purchase personal copies at a 20% discount.

European requests are handled by:
HAYDEN & Son Ltd.
Spectrum House
Hillview Gardens
LONDON NW4 2JQ
United Kingdom

LINPACK User's Guide
top ]
11. MACHINE REQUIREMENTS

The entire coefficient matrix will usually be stored in the computer memory, although there are provisions for band  matrices and for row-by-row processing of large rectangular matrices. 240K bytes of storage are required for execution of a typical sample problem on the IBM360,370 system.
top ]
12. PROGRAMMING LANGUAGE(S) USED
Package ID Computer language
NESC0800/01 FORTRAN-IV
top ]
13. OPERATING SYSTEM UNDER WHICH PROGRAM IS EXECUTED:  OS/360,370 on the IBM360,370.
top ]
14. OTHER PROGRAMMING OR OPERATING INFORMATION OR RESTRICTIONS

The test drivers call a subroutine TRAPS to set the number of underflows permitted. The call is TRAPS(I1,I2,I3,I4,I5) where
I1 should be set to zero,
I2 is the number of floating-point overflows permitted,
I3 is the number of floating-point underflows permitted,
I4 is the number of fixed-point divides by zero permitted, and
I5 is the number of floating-point divides by zero permitted.

Each  installation will have to provide a subroutine TRAPS, which in turn, should call the local error handling routine which should be set to permit a large number of  underflows (5000). If the error-handling procedures are determined by the operating system control language this will have to be set appropriately and a dummy subroutine TRAPS supplied. TRAPS is the standard routine used in WATFIV. On the IBM360,370 the routine is ERRSET.

The sample problems, or testing aids, have been run at the computer installations listed below using a variety of compiler and operating systems.

       Test Site/Machine

Argonne National Laboratory / IBM370/195
Bell Laboratories at Murray Hill / Honeywell6080
College of William and Mary/IBM370 / 148
International Mathematical and Statistical Libraries (IMSL) / EclipseC330
Iowa State University / Itel-AS/5
Lawrence Livermore Laboratory / CDC7600
Los Alamos Scientific Laboratory / CDC7600, CRAY1
Monash University, Australia / Burroughs6700
NASA Langley Research Center / CDC Cyber175
National Center for Atmospheric Research / CDC7600, CRAY1
National Defense Research Institute, Tumba, Sweden / IBM360/75
Naval Weapons Center, China Lake / UNIVAC1110
Northwestern University / CDC6600
Oak Ridge National Laboratory / IBM360/91
Purdue University / CDC6500
Stanford University, SLAC / IBM370/168
University of California, San Diego / Burroughs6700
University of Kentucky / IBM370/158
University of Illinois, Chicago Circle / IBM370/168
University of Illinois at Urbana-Champaign / CDC Cyber175
The University of Michigan / Amdahl 470/V6
The University of Texas at Austin / CDC6600-6400
University of Toronto, Toronto, Canada / IBM370/165
The University of Wisconsin-Madison / UNIVAC1110
Yale University / DEC-KL-20, KA-10
top ]
15. NAME AND ESTABLISHMENT OF AUTHOR

   Contact       J. J. Dongarra
                 Mathematics and Computer Science Division
                 Argonne National Laboratory
                 9700 South Cass Avenue
                 Argonne, Illinois  60439
top ]
16. MATERIAL AVAILABLE
NESC0800/01
File name File description Records
NESC0800_01.001 SOURCE PROGRAM 6861
NESC0800_01.002 SOURCE PROGRAM 6867
NESC0800_01.003 SOURCE PROGRAM 8771
NESC0800_01.004 SOURCE PROGRAM 8935
NESC0800_01.005 SOURCE PROGRAM 562
NESC0800_01.006 SOURCE PROGRAM 560
NESC0800_01.007 SOURCE PROGRAM 575
NESC0800_01.008 SOURCE PROGRAM 580
NESC0800_01.009 SAMPLE PROBLEM INPUT 614
NESC0800_01.010 SAMPLE PROBLEM INPUT 612
NESC0800_01.011 SAMPLE PROBLEM INPUT 655
NESC0800_01.012 SAMPLE PROBLEM INPUT 545
NESC0800_01.013 SAMPLE PROBLEM INPUT 320
NESC0800_01.014 SAMPLE PROBLEM INPUT 413
NESC0800_01.015 SAMPLE PROBLEM INPUT 439
NESC0800_01.016 SAMPLE PROBLEM INPUT 394
NESC0800_01.017 SAMPLE PROBLEM INPUT 663
NESC0800_01.018 SAMPLE PROBLEM INPUT 457
NESC0800_01.019 SAMPLE PROBLEM INPUT 614
NESC0800_01.020 SAMPLE PROBLEM INPUT 616
NESC0800_01.021 SAMPLE PROBLEM INPUT 657
NESC0800_01.022 SAMPLE PROBLEM INPUT 548
NESC0800_01.023 SAMPLE PROBLEM INPUT 322
NESC0800_01.024 SAMPLE PROBLEM INPUT 414
NESC0800_01.025 SAMPLE PROBLEM INPUT 440
NESC0800_01.026 SAMPLE PROBLEM INPUT 394
NESC0800_01.027 SAMPLE PROBLEM INPUT 664
NESC0800_01.028 SAMPLE PROBLEM INPUT 459
NESC0800_01.029 SAMPLE PROBLEM INPUT 619
NESC0800_01.030 SAMPLE PROBLEM INPUT 620
NESC0800_01.031 SAMPLE PROBLEM INPUT 664
NESC0800_01.032 SAMPLE PROBLEM INPUT 666
NESC0800_01.033 SAMPLE PROBLEM INPUT 552
NESC0800_01.034 SAMPLE PROBLEM INPUT 325
NESC0800_01.035 SAMPLE PROBLEM INPUT 416
NESC0800_01.036 SAMPLE PROBLEM INPUT 440
NESC0800_01.037 SAMPLE PROBLEM INPUT 395
NESC0800_01.038 SAMPLE PROBLEM INPUT 666
NESC0800_01.039 SAMPLE PROBLEM INPUT 458
NESC0800_01.040 SAMPLE PROBLEM INPUT 636
NESC0800_01.041 SAMPLE PROBLEM INPUT 634
NESC0800_01.042 SAMPLE PROBLEM INPUT 680
NESC0800_01.043 SAMPLE PROBLEM INPUT 682
NESC0800_01.044 SAMPLE PROBLEM INPUT 564
NESC0800_01.045 SAMPLE PROBLEM INPUT 336
NESC0800_01.046 SAMPLE PROBLEM INPUT 433
NESC0800_01.047 SAMPLE PROBLEM INPUT 482
NESC0800_01.048 SAMPLE PROBLEM INPUT 433
NESC0800_01.049 SAMPLE PROBLEM INPUT 686
NESC0800_01.050 SAMPLE PROBLEM INPUT 477
NESC0800_01.051 SAMPLE PROBLEM INPUT 11800
top ]
17. CATEGORIES
  • P. General Mathematical and Computing System Routines

Keywords: least square fit, matrices, numerical solution.