BLAS1_C
Basic Linear Algebra Subprograms
Level 1
Single Precision Complex Arithmetic


BLAS1_C is a library of C++ routines, using single precision complex arithmetic, which implement 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 via a command like:

g++ myprog.C -lblas

On the Compaq ALPHA, a precompiled optimized BLAS library is available in CXML, the "Compaq Extended Math Library". 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
See the example test code.

Related Data and Programs:

BLAS1_C is also available in a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

BLAS1_D is a C++ library of routines which is a version of BLAS1 for double precision real arithmetic.

BLAS1_S is a C++ library of routines which is a version of BLAS1 for single precision real arithmetic.

BLAS1_Z is a C++ library of routines which is a version of BLAS1 for double precision complex arithmetic.

BLAS2 is a FORTRAN90 library of routines which is the Level 2 BLAS, for matrix-vector operations.

BLAS3 is a FORTRAN90 library of routines which is the Level 3 BLAS, for matrix-matrix operations.

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

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

LINPACK is a C++ library of routines which is a linear algebra library that uses the BLAS1 routines

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

Reference:

  1. Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
    LINPACK User's Guide,
    SIAM, 1979,
    ISBN13: 978-0-898711-72-1,
    LC: QA214.L56.
  2. 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.
  3. Thomas Coleman, Charles Van Loan,
    Handbook for Matrix Computations,
    Society for Industrial and Applied Mathematics,
    3600 University City Science Center,
    Philadelphia, PA 19104-2688.
  4. Compaq Computer Corporation,
    Compaq Extended Math Library,
    CXML Reference Guide

Source Code:

Examples and Tests:

List of Routines:

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


Last revised on 10 November 2006.