This chapter is concerned with basic linear algebra functions which perform elementary algebraic operations involving vectors and matrices.
The functions in this chapter follow the specification of
Basic Linear Algebra Subprograms Technical (BLAST) Forum (2001). They are called extensively by functions in other chapters of the NAG C Library, especially in the linear algebra chapters. They are intended to be useful building-blocks for users of the Library who are developing their own applications.
The functions fall into three main groups:
1. |
scalar and vector operations, also referred to as Level 1 BLAS; |
2. |
matrix-vector operations or Level 2 BLAS; |
3. |
matrix operations which includes single matrix operations (Level 2 BLAS), matrix-matrix operations (Level 3 BLAS) and data movement operations on matrices. |
The terminology reflects the number of operations involved, so for example a Level 2 function involves operations, for vectors and matrices of order .
In many implementations of the NAG C Library, the functions in this chapter serve as interfaces to an efficient machine-specific implementation of the BLAS, usually provided by the vendor of the machine. Such implementations are stringently tested before being used with the NAG
Library, to ensure that they correctly meet the specifications of the
BLAS, and that they return the desired accuracy.
The functions in this chapter make available only some of the
Basic Linear Algebra Subprograms which carry out the low level operations required by linear algebra applications.
The operator arguments
conj,
diag,
norm,
order,
side,
trans and
uplo are defined as enumeration types.
The
order argument allows for 2D arrays to be supplied in either row or column ordering. The precise meaning of this for the packed and banded matrix storage schemes which are used by some of the
functions in this chapter is described in
the
f07 and
f08 Chapter Introductions.
The following values of arguments are invalid:
- – any value of the operator arguments whose meaning is not specified;
- – a negative value of any problem dimension or bandwidth;
- – too small a value for any of the stride arguments;
- – a zero value for the increment arguments.
Zero values for the matrix dimensions are considered valid.
None.
None.
Basic Linear Algebra Subprograms Technical (BLAST) Forum (2001)
Basic Linear Algebra Subprograms Technical (BLAST) Forum Standard University of Tennessee, Knoxville, Tennessee
http://www.netlib.org/blas/blast-forum/blas-report.pdf