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