BLAS1_Z
Basic Linear Algebra Subprograms
Level 1
Double Precision Complex Arithmetic
BLAS1_Z is a library of C++ routines, using double 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 a C++ library of routines which
is a version of BLAS1 for single precision complex arithmetic.
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 also available in
a C version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
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.
Reference:
-
Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
LINPACK User's Guide,
SIAM, 1979,
ISBN13: 978-0-898711-72-1,
LC: QA214.L56.
-
Charles Lawson, Richard Hanson, David Kincaid and 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.
-
Thomas Coleman and Charles Van Loan,
Handbook for Matrix Computations,
Society for Industrial and Applied Mathematics,
3600 University City Science Center,
Philadelphia, PA 19104-2688.
-
Compaq Computer Corporation,
Compaq Extended Math Library,
CXML Reference Guide
Source Code:
Examples and Tests:
List of Routines:
-
DZASUM takes the sum of the absolute values of a double complex vector.
-
DZNRM2 returns the euclidean norm of a double complex vector.
-
I4_MAX returns the maximum of two integers.
-
I4_MIN returns the smaller of two integers.
-
IZAMAX indexes the double complex vector element of maximum absolute value.
-
LSAME returns TRUE if CA is the same letter as CB regardless of case.
-
R8_ABS returns the absolute value of a double.
-
R8_MAX returns the maximum of two doubles.
-
R8_SIGN returns the sign of a double.
-
XERBLA is an error handler for the LAPACK routines.
-
ZABS1 returns the L1 norm of a double complex number.
-
ZABS2 returns the L2 norm of a double complex number.
-
ZAXPY computes a double complex constant times a vector plus a vector.
-
ZCOPY copies a double complex vector X to a vector Y.
-
ZDOTC forms the conjugated dot product of two double complex vectors.
-
ZDOTU forms the unconjugated dot product of two double complex vectors.
-
ZDROT applies a double complex plane rotation.
-
ZDSCAL scales a double complex vector by a real constant.
-
ZMACH computes machine parameters for double complex arithmetic.
-
ZROTG determines a complex Givens rotation.
-
ZSCAL scales a double complex vector by a constant.
-
ZSIGN1 is a double complex transfer-of-sign function.
-
ZSIGN2 is a double complex transfer-of-sign function.
-
ZSWAP interchanges two double complex vectors.
You can go up one level to
the C++ source codes.
Last revised on 09 May 2006.