Lapack Library

LAPACK is a library of Fortran subroutines for solving the most commonly occurring problems in numerical linear algebra. LAPACK is a freely-available software package. It can be included in commercial software packages (and has been).

Lapack Library

These are steps I used to build my own BLAS and LAPACK. The source of BLAS is in /src/BLAS while the source of LAPACK is in /src/lapack-3.5.0 and the source of octave 3.8.1 is in /src/octave-3.8.1. With only two module, 1) pcre/8.33 2) acml/5.3.1/gfortran64, loaded, I compiled BLAS shared library using. Gfortran -shared -O2.f -o libblas.so. The Accelerate framework provides the LAPACK library for numerical linear algebra. A basic technique of linear algebra is to solve systems of simultaneous equations. For example, the following shows three equations that contain the unknowns x, y, and z. Download the CLAPACK precompiled libraries: libf2c.lib, lapack.lib plus blas.lib if you decide to go for the Reference BLAS File names of the precomputed debug libraries end with the letter 'd' e.g. BLASd.lib and lapackd.lib. Locate your BLAS libraires for your machine. (You may want to choose the Debug config if you choose GOTOBLAS). LAPACK (' L inear A lgebra Pack age') is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It also includes routines to implement the associated matrix factorizations such as LU, QR, Cholesky.

Paul R. Willems, Bruno Lang and Christof Voemel

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-05-1376
2005

LibraryLinking

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2005/CSD-05-1376.pdf

We describe the design and implementation of a new algorithm for computing the singular value decomposition of a real bidiagonal matrix. This algorithm uses ideas developed by Grosser and Lang that extend Parlett's and Dhillon's MRRR algorithm for the tridiagonal symmetric eigenproblem. One key feature of our new implementation is, that k singular triplets can be computed using only O(nk) storage units and floating point operations, where n is the dimension of the matrix. The algorithm will be made available as routine xBDSCR in the upcoming new release of the LAPACK library.

BibTeX citation:

EndNote citation:

LINPACK is a C++ library which solves systems of linear equations for a variety of matrix types and storage modes, for real or complex arithmetic, and for single or double precision, by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart.

LINPACK has officially been superseded by the LAPACK library. The LAPACK library uses more modern algorithms and code structure. However, the LAPACK library can be extraordinarily complex; what is done in a single LINPACK routine may correspond to 10 or 20 utility routines in LAPACK. This is fine if you treat LAPACK as a black box. But if you wish to learn how the algorithm works, or to adapt it, or to convert the code to another language, this is a real drawback. This is one reason I still keep a copy of LINPACK around.

The LINPACK routines are available in both real and complex arithmetic versions, and using single precision or double precision. In most cases, a given routine has a root name, such as GEFA, and a prefix is used to identify the arithmetic and precision. Thus,

  • CGEFA is the single precision complex version of GEFA;
  • DGEFA is the double precision real version of GEFA;
  • SGEFA is the single precision real version of GEFA;
  • ZGEFA is the double precision complex version of GEFA;
Lapack library windows

Versions of LINPACK in various arithmetic precisions are available through the NETLIB web site.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

See More Results

Languages:

LINPACK is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

LINPACK_C, a C++ library which solves linear systems using single precision complex arithmetic;

LINPACK_D, a C++ library which solves linear systems using double precision real arithmetic;

LINPACK_S, a C++ library which solves linear systems using single precision real arithmetic;

Lapack Library

LINPACK_Z, a C++ library which solves linear systems using double precision complex arithmetic;

Library

Author:

Original FORTRAN77 version by Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart. C++ version by John Burkardt.

Reference:

Lapack Library Catalogue

  1. Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
    LINPACK User's Guide,
    SIAM, 1979,
    ISBN13: 978-0-898711-72-1,
    LC: QA214.L56.

You can go up one level to the C++ source codes.

Last revised on 29 April 2012.