LAPACK


Using LAPACK Subprograms

LAPACK (Linear Algebra PACKage) is a publically available collection of Fortran77 routines. LAPACK is used for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, and eigenvalue and singular value problems. It can also handle other associated computations such as matrix factorizations or the estimation of condition numbers.

LAPACK routines can handle dense and banded matrices, but not general sparse matrices. In all areas, equivalent routines are provided for real and complex matrices, in both single and double precision.

This version of CXML includes Version 3.0 of LAPACK. All available updates and bug fixes to LAPACK V3.0 (since its first release on June 30, 1999) have been included in this version of CXML.

LAPACK Documentation

To use the LAPACK library, you need to refer to the LAPACK documentation. The primary source of official information about LAPACK is found on the Netlib Repository at the UTK and ORNL website:

http://www.netlib.org/lapack

At this site, there is an online version of the 3rd Edition of the LAPACK User's Guide . This is the official and complete reference for all of the LAPACK routines. In addition, this website contains much information about the LAPACK project, and maintains LAPACK FAQs (Frequently Asked Questions).

A printed version of the LAPACK User's Guide, 3rd Ed. is published by the Society for Industrial and Applied Mathematics (SIAM). This book may be ordered directly from SIAM by contacting them at:

Web: http://www.siam.org
US/Canada Phone: 800-447-SIAM
Worldwide Phone: 215-382-9800
email: service@siam.org

It is also available from most booksellers.

When purchasing this book, use the following information:

LAPACK User's Guide, 3rd Edition, by E. Anderson et al.
ISBN: 0-89871-447-8

Related CXML Documentation

Information specific to the implementation of LAPACK routines included in CXML can be found in this document. The CXML Release Notes contain any special information pertinent to LAPACK routines included in a particular release of CXML.

CXML documentation related to LAPACK can also be located at the CXML website:

http://www.compaq.com/math

For a list of available LAPACK routines included with CXML, refer to the LAPACK Routines Index .
Links are provided in this index to descriptions of each LAPACK routine.

LAPACK Manpages

For UNIX and Linux users, CXML provides online help in the form of manpages describing LAPACK routines and the operations they perform. To display the manpage that gives an overview of LAPACK, use the following command:
man lapack

To display a manpage for a LAPACK routine, use the man command with the routine name. LAPACK routines have a separate manpage for each data type. When you use the man command for a LAPACK routine, the routine name should have the correct data type. For example, to display the manpage for the DGETRF routine, use the command:
man dgetrf

To display the CGETRF routine, use the command:
man cgetrf

Equivalence Between LAPACK and LINPACK/EISPACK Routines

One of the original goals of the LAPACK development effort was to enable the LINPACK and EISPACK libraries to run effectively on modern, high-performance computers.

The LAPACK equivalence utility provides the names and parameter lists of LAPACK routines that are equivalent to the LINPACK and EISPACK routines you specify. The utility command is as follows:
directory-spec equivalence_lapack routine_name [routine_name...] 

where you replace directory-spec with the proper directory information, and routine_name with the LINPACK and/or EISPACK routine names.

For example, on a UNIX system you would enter:
/usr/share/equivalence_lapack dgesl imtql1 

This returns:
DGESL: 
      SUBROUTINE SGETRS( TRANS, N, NRHS, A, LDA, IPIV, B, LDB, INFO ) 
      SUBROUTINE DGETRS( TRANS, N, NRHS, A, LDA, IPIV, B, LDB, INFO ) 
IMTQL1: 
      SUBROUTINE SSTEQR( COMPZ, N, D, E, Z, LDZ, WORK, INFO ) 
      SUBROUTINE DSTEQR( COMPZ, N, D, E, Z, LDZ, WORK, INFO ) 

The LINPACK or EISPACK routine names are to the left of the colons. The equivalent LAPACK routines and calling sequences are to the right of the colons.

This utility helps you to convert LINPACK and EISPACK routine calls to equivalent LAPACK routine calls. The utility has limitations in that the argument lists of the LAPACK routines are generally different from those of the corresponding LINPACK and EISPACK routines, and the workspace requirements are often different as well.

On Tru64 UNIX systems, the LAPACK equivalence utility is installed in the following location:
/usr/opt/XMDLOAnnn/dxml/equivalence_lapack.c  (source code) 
/usr/opt/XMDLOAnnn/dxml/equivalence_lapack    (executable) 

where nnn refers to the version number for the release.

On Windows NT systems, the LAPACK equivalence utility is installed in a subdirectory located with the CXML software. This location can vary, depending upon what is specified at installation time. The LAPACK equivalence utility can easily be located by searching for the following files:
equivalence_lapack.c  (source code) 
equivalence_lapack    (executable) 

On OpenVMS systems, only the source code for the LAPACK equivalence utility is provided.
 

CXML Home Page

Index of CXML Routines