Previous: lapack-i Up: ../lapack.html Next: lapack-s

WHAT IS LAPACK? LAPACK is a transportable library of Fortran 77 subroutines for solving the most common problems in numerical linear algebra: systems of linear equations, linear least squares problems, eigenvalue problems, and singular value problems. It has been designed to be efficient on a wide range of modern high- performance computers. LAPACK is intended to be the successor to LINPACK and EISPACK. It extends the functionality of these packages by including equilibration, iterative refinement, error bounds, and driver routines for linear systems, routines for computing and re- ordering the Schur factorization, and condition estimation rou- tines for eigenvalue problems. LAPACK improves on the accuracy of the standard algorithms in EISPACK by including high accu- racy algorithms for finding singular values and eigenvalues of bidiagonal and tridiagonal matrices respectively that arise in SVD and symmetric eigenvalue problems. The algorithms and software have been restructured to achieve high efficiency on vector processors, high-performance ``superscalar'' worksta- tions, and shared-memory multiprocessors. A comprehensive test- ing and timing suite is provided along with the LAPACK software. HOW TO GET LAPACK The entire LAPACK package is available via xnetlib and NAG, or specific routines can be obtained via netlib. To see a description of the contents of LAPACK, send email to netlib@ornl.gov and in the mail message type: send index from lapack. Xnetlib is an X-version of netlib recently developed at the University of Tennessee and Oak Ridge National Laboratory. Unlike netlib, which uses electronic mail to process requests for software and other text, xnetlib uses an X Window graphical user interface and a socket-based connection between the user's machine and the xnetlib server machine to process software requests. The complete contents of LAPACK is available in tar/compress format from xnetlib. To receive a copy of xnetlib send the message "send xnetlib.shar from xnetlib" to netlib@ornl.gov. When you receive the shar file, remove the mail header, save it to a file, type 'sh filename' and follow the instructions in the README file. Alternatively, the complete LAPACK package can be obtained from NAG on magnetic media for a handling charge. For further details contact NAG at one of the following addresses: LAPACK Version 1.1 Last change: 2 April 1993 1 NAG Inc NAG Ltd NAG GmbH 1400 Opus Place Wilkinson House Schleissheimerstrasse 5 Suite 200 Jordan Hill Road W-8046 Garching bei Munchen Downers Grove, IL 60515-5702 Oxford OX2 8DR Germany USA England Tel: +1 708 971 2337 Tel: +44 865 511245 Tel: +49 89 3207395 Fax: +1 708 971 2706 Fax: +44 865 310139 Fax: +49 89 3207396 LAPACK has been thoroughly tested, on many different types of computers. The LAPACK project supports the package in the sense that reports of errors or poor performance will gain immediate attention from the developers. Such reports, descrip- tions of interesting applications, and other comments should be sent by electronic mail to lapack@cs.utk.edu. LAPACK USERS' GUIDE The LAPACK Users' Guide is published by SIAM and was made available May, 1992. LAPACK Users' Guide gives an informal introduction to the design of the algorithms and software, sum- marizes the contents of the package, and describes the conven- tions used in the software and documentation, and includes com- plete specifications for calling the routines. The LAPACK Users' Guide can be purchased from: SIAM; 3600 University City Science Center; Philadelphia, PA 19104-2688; 215-382-9800, FAX 215-386-7999. It will also be available from booksellers. The Guide costs $15.60 for SIAM members, and $19.50 for non- members. Please specify order code OT31 when ordering. To order by email, send email to service@siam.org. A list of known problems, bugs, and compiler errors for LAPACK, as well as errata for the LAPACK Users' Guide and the LAPACK code itself, is maintained on netlib. For a copy of this report, send email to netlib@ornl.gov with a message of the form: send release_notes from lapack. LAPACK WORKING NOTES A number of working notes were written during the development of LAPACK and published as LAPACK Working Notes, initially by Argonne National Laboratory and later by the University of Tennessee. Many of these reports have subsequently appeared as journal articles. Most of these working notes are available in postscript form from netlib. To receive a list of available reports, send email to netlib@ornl.gov with a message of the form: send index from lapack/lawns. Otherwise, requests for copies of these working notes can be sent to the following address. LAPACK Project c/o J.J. Dongarra Computer Science Department University of Tennessee Knoxville, Tennessee 37996-1301 USA Email: lapack@cs.utk.edu LAPACK Version 1.1 Last change: 2 April 1993 2 ACKNOWLEDGEMENTS LAPACK has been funded in part by NSF, DOE, and DARPA, with developmental support from NAG Ltd., Cray Research, and many friends and colleagues around the world. Ed Anderson, Zhao-jun Bai, Chris Bischof, Jim Demmel, Jack Dongarra, Jeremy Du Croz, Anne Greenbaum, Sven Hammarling, Alan McKenney, Susan Ostrouchov, and Danny Sorensen ( l l l l ) ( a -a a -a ) 1/4 * ( p p -p -p ) ( a -a -a a ) ( c c -c -c ) ( k -k -k k ) NAMING SCHEME The name of each LAPACK routine is a coded specification of its function (within the very tight limits of standard Fortran 77 6-character names). All driver and computational routines have names of the form XYYZZZ, where for some driver routines the 6th character is blank. The first letter, X, indicates the data type as follows: S REAL D DOUBLE PRECISION C COMPLEX Z COMPLEX*16 or DOUBLE COMPLEX The next two letters, YY, indicate the type of matrix (or of the most significant matrix). Most of these two-letter codes apply to both real and complex matrices; a few apply specifi- cally to one or the other. The last three letters ZZZ indicate the computation performed. For example, SGEBRD is a single precision routine that performs a bidiagonal reduction (BRD) of a real general matrix. LAPACK Version 1.1 Last change: 2 April 1993 3

NAME LSAME - return .TRUE SYNOPSIS LOGICAL FUNCTION LSAME( CA, CB ) CHARACTER CA, CB PURPOSE LSAME returns .TRUE. if CA is the same letter as CB regard- less of case. ARGUMENTS CA (input) CHARACTER*1 CB (input) CHARACTER*1 CA and CB specify the single characters to be compared. Test if the characters are equal Now test for equivalence if both characters are alphabetic. Use 'Z' rather than 'A' so that ASCII can be detected on Prime machines, on which ICHAR returns a value with bit 8 set. ICHAR('A') on Prime machines returns 193 which is the same as ICHAR('A') on an EBCDIC machine. ASCII is assumed - ZCODE is the ASCII code of either lower or upper case 'Z'. EBCDIC is assumed - ZCODE is the EBCDIC code of either lower or upper case 'Z'. ASCII is assumed, on Prime machines - ZCODE is the ASCII code plus 128 of either lower or upper case 'Z'. RETURN End of LSAME

NAME LSAMEN - test if the first N letters of CA are the same as the first N letters of CB, regardless of case SYNOPSIS LOGICAL FUNCTION LSAMEN( N, CA, CB ) CHARACTER*( * ) CA, CB INTEGER N PURPOSE LSAMEN tests if the first N letters of CA are the same as the first N letters of CB, regardless of case. LSAMEN returns .TRUE. if CA and CB are equivalent except for case and .FALSE. otherwise. LSAMEN also returns .FALSE. if LEN( CA ) or LEN( CB ) is less than N. ARGUMENTS N (input) INTEGER The number of characters in CA and CB to be com- pared. CA (input) CHARACTER*(*) CB (input) CHARACTER*(*) CA and CB specify two character strings of length at least N. Only the first N characters of each string will be accessed. Do for each character in the two strings. Test if the characters are equal using LSAME. End of LSAMEN