LAPACK -- Linear Algebra PACKage

( L   A    P    A    C    K)
( L  -A    P   -A    C   -K)
( L   A    P    A   -C   -K)
( L  -A    P   -A   -C    K)
( L   A   -P   -A    C    K)
( L  -A   -P    A    C   -K)
      (           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           )
Version 3.2.1 LAPACK User Forum   |   lapack@cs.utk.edu   |   Subscribe to the LAPACK announcement list # Accesses



[Home] [Contact] [FAQ] [Release Notes] [LAPACK Search Engine] [Individual Routines] [Quick Installation Guide] [LAPACK Installation Guide] [LAPACK Users' Guide] [LAPACK Working Notes] [What's New in Version 3.2.1?] [What's New in Version 3.2?] [Related Projects] [Support] [Contribution] [LICENSE]

LAPACK is written in Fortran90 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. The associated matrix factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also provided, as are related computations such as reordering of the Schur factorizations and estimating condition numbers. Dense and banded matrices are handled, but not general sparse matrices. In all areas, similar functionality is provided for real and complex matrices, in both single and double precision.

If you're uncertain of the LAPACK routine name to address your application's needs, check out the LAPACK Search Engine.

The original goal of the LAPACK project was to make the widely used EISPACK and LINPACK libraries run efficiently on shared-memory vector and parallel processors. On these machines, LINPACK and EISPACK are inefficient because their memory access patterns disregard the multi-layered memory hierarchies of the machines, thereby spending too much time moving data instead of doing useful floating-point operations. LAPACK addresses this problem by reorganizing the algorithms to use block matrix operations, such as matrix multiplication, in the innermost loops. These block operations can be optimized for each architecture to account for the memory hierarchy, and so provide a transportable way to achieve high efficiency on diverse modern machines. We use the term "transportable" instead of "portable" because, for fastest possible performance, LAPACK requires that highly optimized block matrix operations be already implemented on each machine.

LAPACK routines are written so that as much as possible of the computation is performed by calls to the Basic Linear Algebra Subprograms (BLAS). While LINPACK and EISPACK are based on the vector operation kernels of the Level 1 BLAS, LAPACK was designed at the outset to exploit the Level 3 BLAS -- a set of specifications for Fortran subprograms that do various types of matrix multiplication and the solution of triangular systems with multiple right-hand sides. Because of the coarse granularity of the Level 3 BLAS operations, their use promotes high efficiency on many high-performance computers, particularly if specially coded implementations are provided by the manufacturer.

Highly efficient machine-specific implementations of the BLAS are available for many modern high-performance computers. For details of known vendor- or ISV-provided BLAS, consult the BLAS FAQ. Alternatively, the user can download ATLAS to automatically generate an optimized BLAS library for the architecture. A Fortran77 reference implementation of the BLAS in available from netlib; however, its use is discouraged as it will not perform as well as a specially tuned implementation.

Acknowledgements: Since 2004, this material is based upon work supported by the National Science Foundation under Grant No. NSF-0444486 Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF). Until 2001, this material was based upon work supported by the National Science Foundation under Grant No. ASC-9313958 and DOE Grant No. DE-FG03-94ER25219. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF) or the Department of Energy (DOE).


[Home] [Contact] [FAQ] [Release Notes] [LAPACK Search Engine] [Individual Routines] [Quick Installation Guide] [LAPACK Installation Guide] [LAPACK Users' Guide] [LAPACK Working Notes] [What's New in Version 3.2?] [What's New in Version 3.2.1?] [Related Projects] [Support] [Maintenance/Contributing Code] [LICENSE]


# ======================================================================
# LAPACK, Version 1.0         Date:  February 29, 1992
# LAPACK, Version 1.0a        Date:  June 30, 1992
# LAPACK, Version 1.0b        Date:  October 31, 1992
# LAPACK, Version 1.1         Date:  March 31, 1993
# LAPACK, Version 2.0         Date:  September 30, 1994
# LAPACK, Version 3.0         Date:  June 30, 1999
# LAPACK, Version 3.0 (update) Date: October 31, 1999
# LAPACK, Version 3.0 (update) Date: May 31, 2000
# LAPACK, Version 3.1          Date: November 12, 2006
# LAPACK, Version 3.1.1        Date: February 26, 2007
# LAPACK, Version 3.2          Date: November 18, 2008
# LAPACK, Version 3.2.1        Date: April 17, 2009
# ======================================================================
#
# -------------------
# Available software:
# -------------------

file lapack.tgz
for  LAPACK, version 3.2.1
,    This is the package without html pages and manpages (installation and testing) in tar gzip form.  All revisions included.
,    This cannot be retrieved via email.
,    Please refer to lapack-3.2.1.html file for release notes on release 3.2.1
,    Updated:  April 17, 2009

file lapack-3.2.tgz
for  LAPACK, version 3.2
,    This is the package without html pages and manpages (installation and testing) in tar gzip form.  All revisions included.
,    This cannot be retrieved via email.
,    Please refer to lapack-3.2.html file for release notes on release 3.2
,    Updated:  November 18, 2008


file lapack-3.1.1.tgz
for  LAPACK, version 3.1.1
,    This is the COMPLETE package (installation, testing, manpages and html) in tar gzip form (10407 Kbytes).  All revisions included.
,    This cannot be retrieved via email.
,    Updated:  February 26, 2007


file lapack-lite-3.1.1.tgz
for  LAPACK, version 3.1.1
,    This is the package without html pages and manpages (installation and testing) in tar gzip form (5332 Kbytes).  All revisions included.
,    This cannot be retrieved via email.
,    Updated:  February 26, 2007

file lapack-3.0.tgz
for  LAPACK, version 3.0 + UPDATES
,    This is the COMPLETE package
,    (installation, testing, and timing) in tar gzip
,    form (4991992 bytes).  All revisions included.
,    This cannot be retrieved via email.
,    Updated:  May 31, 2000

ref  http://icl.cs.utk.edu/lapack-for-windows/
for  LAPACK 3.1.1 for Windows

file update.tgz
for  UPDATE (tar gzipped) file for LAPACK, version 3.0
,    Instructions:  cd LAPACK; gunzip -c update.tgz | tar xvf -
,    Updated: May 31, 2000


ref  http://www.amd.com/acml
for	ACML AMD Core Math Library

ref  http://www.intel.com/software/products/mkl
for	Intel Math Kernel Library
,    The AMD Core Math Library (ACML) and the Intel Math Kernel Library 
,    (Intel MKL) includes BLAS, LAPACK, and ScaLAPACK, which are designed 
,    to be used by a wide range of software developers to obtain excellent 
,    performance from their applications running on AMD and Intel platforms.

# ---------
# Wrappers:
# ---------

Two projects were started during Spring 2006 for creating wrappers around the
LAPACK package.  The first wrapper is for C language users: the C wrapper
provide a C convenient access to all (Fortran) LAPACK interfaces. The second
wrapper is for Matlab users: the Matlab wrapper provide access to all (Fortran)
LAPACK interfaces. The Matlab wrapper also has a second layer of wrapper on top
of it to provide convenient access from Matlab. These two wrappers are the work
of Rémi Delmas as part of his Master project during Spring 2006, he was
supervised by Julien Langou, both were working with Jack Dongarra at ICL.  This
work was made possible thanks to the support of the NSF grant NSF-0444486.

Note: These wrappers do not represent "reference" interfaces for LAPACK from C
nor Matlab. Such "reference" interfaces do not exist (yet). Feel free to use them
though!

C Wrappers
Matlab Wrappers

# -------------------
# Individual Routines: 
# -------------------
lib explore-html
for Explore LAPACK code by routine

lib  single
for  single precision real LAPACK routines
prec single

lib  double
for  double precision real LAPACK routines
prec double

lib  complex
for  single precision complex LAPACK routines
prec complex

lib  complex16
for  double precision complex LAPACK routines
prec doublecomplex

lib  util
for  LAPACK utility routines

lib  testing
for  Subdirectory containing the testing routines for lapack.

lib  timing
for  Subdirectory containing the timing routines for lapack.

# -------------------------
# Prebuilt LAPACK libraries:
# -------------------------

lib  archives
for  Subdirectory containing prebuilt LAPACK libraries
,    !! Being updated for LAPACK, version 3.0 + PATCH!!

# --------------
# Documentation:
# --------------

lib  lug/
,    HTML version of the LAPACK Users' Guide, Third Edition

file lapack-3.2
for Text file explaining the changes that were made to the
,    LAPACK software in version 3.2.
,    Please refer to lapack-3.2.html file for release notes on release 3.2

file lapack-3.1.1.changes
for Text file explaining the changes that were made to the
,    LAPACK software in version 3.1.1.
,    Please refer to lapack-3.1.1.changes.html file for release notes on release 3.1.1

file lapack-3.1.0.changes
for Text file explaining the changes that were made to the
,    LAPACK software in version 3.1.0.
,    Please refer to lapack-3.1.0.changes.html file for release notes on release 3.1.0

file release_notes.html
for  ** RELEASE_NOTES webpage for LAPACK **
,    List of known problems, bugs, and compiler errors, as
,    well as ERRATA for the LAPACK Users' Guide and the
,    LAPACK code itself.
,    Last UPDATED:  July 10, 2001

file lapackqref.ps
for  LAPACK Quick Reference Guide to the Driver Routines
,    (VERSION 3.0)

lib  lawn81/
,    HTML version of "Quick Installation Guide for LAPACK"

file lawns/lawn81.ps
for  LAPACK Working Note 81: Quick Installation Guide for LAPACK
,    on Unix Systems
,    (25 pages)
,    Updated: June, 1999. (VERSION 3.0)

lib  lawn41/
,    HTML version of "LAPACK Installation Guide"

file lawns/lawn41.ps
for  LAPACK Working Note 41:  LAPACK Installation Guide
,    (149 pages)
,    Updated:  June, 1999 (VERSION 3.0)

file manpages.tgz
for  This is a gzip tar
,    file of the manual pages for the LAPACK 3.2.0 driver and
,    computational routines.  
,    (1016997 bytes).  This cannot be retrieved via email.


# ------------------------------
# LAPACK Working Notes in ps/pdf: 
# ------------------------------

lib  lawns
for  Subdirectory containing the LAPACK Working Notes
,    To find out what is available and retrieve a postscript copy
,    of these reports, send mail in the form:
,          send index from lapack/lawns
,          send lawnxx from lapack/lawns
,	These reports are kept only at netlib@www.netlib.org

lib  lawnspdf
for  Subdirectory containing pdf versions of the LAPACK Working Notes
,    To find out what is available and retrieve a postscript copy
,    of these reports, send mail in the form:
,          send index from lapack/lawnspdf
,          send lawnxx from lapack/lawnspdf
,	These reports are kept only at netlib@www.netlib.org

# -----------------
# Related Projects:
# -----------------

#    For the Fortran95 interface to LAPACK see directory lapack95
lib  ../lapack95
for  LAPACK95 is the Fortran95 interface to LAPACK.
by   Jerzy Wasniewski <lapack95@cs.utk.edu>

#    For the Fortran-to-Java LAPACK see directory java/f2j/ 
lib  ../java/f2j
for  JLAPACK

#    For an f2c'ed conversion of LAPACK see directory clapack
lib  ../clapack
for  CLAPACK.  An f2c'ed conversion of LAPACK.

#    For a distributed-memory implementation of LAPACK see directory scalapack
lib  ../scalapack
for  ScaLAPACK.  A portable implementation of some of the core
,    routines in LAPACK across MPI, PVM, Intel Paragon, IBM SP, and SGI O2K.

#    For a c++ implementation of LAPACK see directory lapack++
lib  ../lapack++
for  LAPACK++.  LAPACK extensions for high performance linear
,    algebra computations. This version includes support for solving
,    linear systems using LU, Cholesky, and QR matrix factorizations.
by   Roldan Pozo <pozo@cs.utk.edu>

lib  essl
for  Subdirectory containing CCI (Call Conversion Interface) for
,    LAPACK/ESSL.
,    See lawn82 for more information.