BLAS1_D
Basic Linear Algebra Subprograms
Level 1
Double Precision Real Arithmetic


BLAS1_D is a FORTRAN90 library, using double precision real arithmetic, which implements the Level 1 BLAS, or Basic Linear Algebra Subprograms.

The BLAS are a small core library of linear algebra utilities, which can be highly optimized for various architectures. Software that relies on the BLAS is thus highly portable, and will typically run very efficiently.

The Level 1 BLAS are primarily for use in vector operations. In certain cases, they may also be used to operate on the rows or columns of a two-dimensional array.

On the SGI, a precompiled optimized BLAS library may be linked to a FORTRAN90 program via a command like:

f90 myprog.f90 -lblas

On the Compaq ALPHA, a precompiled optimized BLAS library is available in CXML, the "Compaq Extended Math Library", and may be linked to a FORTRAN90 program via a command like:

f90 myprog.f90 -lcxml

A C++ program can link with the CXML library, but the CXML routine names must have an underscore appended to them, and they must be declared as extern "C" to avoid the dreaded C++ name-mangling. The linking command would be something like:

g++ myprog.C -lcxml

Related Data and Programs:

BLAS1_C is a FORTRAN90 library which is a version of BLAS1 for single precision complex arithmetic.

BLAS1_D is also available in a C version and a C++ version and a FORTRAN77 version and a MATLAB version.

BLAS1_S is a FORTRAN90 library which is a version of BLAS1 for single precision real arithmetic.

BLAS1_Z is a FORTRAN90 library which is a version of BLAS1 for double precision complex arithmetic.

BLAS2 is a FORTRAN90 library which handles matrix-vector operations.

BLAS3 is a FORTRAN90 library which handles matrix-matrix operations.

ESSL is the IBM Engineering and Scientific Subroutine Library, which includes an implementation of the BLAS1 routines.

GSL is the Gnu Scientific Library, which includes an implementation of the BLAS1 routines.

LAPACK is a FORTRAN90 library which is a linear algebra package that uses the BLAS1 routines.

LINPACK is a FORTRAN90 library which is a linear algebra package that uses the BLAS1 routines.

NMS is a FORTRAN90 library which includes BLAS1.

PETSC is a scientific library for use in parallel computation which includes an implementation of the BLAS1 routines.

SLATEC is a FORTRAN90 library which includes BLAS1.

SUPER_BLAS is a C library which is a version of some of the BLAS1 routines.

Reference:

  1. Edward Anderson, Zhaojun Bai, Christian Bischof, Susan Blackford, James Demmel, Jack Dongarra, Jeremy Du Croz, Anne Greenbaum, Sven Hammarling, Alan McKenney, Danny Sorensen,
    LAPACK User's Guide,
    Third Edition,
    SIAM, 1999,
    ISBN: 0898714478,
    LC: QA76.73.F25L36.
  2. Thomas Coleman, Charles vanLoan,
    Handbook for Matrix Computations,
    SIAM, 1988,
    ISBN13: 978-0-898712-27-8,
    LC: QA188.C65.
  3. Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
    LINPACK User's Guide,
    SIAM, 1979,
    ISBN13: 978-0-898711-72-1,
    LC: QA214.L56.
  4. Charles Lawson, Richard Hanson, David Kincaid, Fred Krogh,
    Algorithm 539: Basic Linear Algebra Subprograms for Fortran Usage,
    ACM Transactions on Mathematical Software,
    Volume 5, Number 3, September 1979, pages 308-323.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN90 source codes.


Last revised on 28 March 2007.