Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

Chapter Contents
Chapter Introduction
NAG Toolbox

# NAG Toolbox Chapter IntroductionF16 — Further Linear Algebra Support Routines

## Scope of the Chapter

This chapter is concerned with basic linear algebra functions which perform elementary algebraic operations involving vectors and matrices. Other functions for such operations are available in .

## Background to the Problems

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 Toolbox, 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 O(n2)$O\left({n}^{2}\right)$ operations, for vectors and matrices of order n$n$.
In many implementations of the NAG Toolbox, 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.
Because of the overlap of functionality with , only a subset of functions defined by the Technical Forum are implemented in this chapter.

## Recommendations on Choice and Use of Available Functions

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.
In addition nag_blast_dwaxpby (f16eh) is provided to allow for the storage of the sum of the two scaled vectors in a different vector, w$w$, in order to preserve the input.
Functions in this chapter do not use the usual NAG Toolbox error-handling mechanism, involving the parameter ifail.
If one of the BLAS functions is called with an invalid value of one of its arguments, then an error message is output on the error message unit (see nag_file_set_unit_error (x04aa)), giving the name of the function and the number of the first invalid argument, and execution of the program is terminated. 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 leading dimension arguments;
• – a zero value for the increment arguments.
Zero values for the matrix dimensions are considered valid.

## Functionality Index

 Matrix-vector operations,
 complex matrix and vector(s),
 compute a norm or the element of largest absolute value,
 band matrix nag_blast_zgb_norm (f16ub)
 real matrix and vector(s),
 compute a norm or the element of largest absolute value,
 band matrix nag_blast_dgb_norm (f16rb)
 Scalar and vector operations,
 complex vector(s),
 maximum absolute value and location nag_blast_zamax_val (f16js)
 minimum absolute value and location nag_blast_zamin_val (f16jt)
 sum of elements nag_blast_zsum (f16gl)
 sum of two scaled vectors nag_blast_zaxpby (f16gc)
 sum of two scaled vectors preserving input nag_blast_zwaxpby (f16gh)
 integer vector(s),
 maximum absolute value and location nag_blast_iamax_val (f16dq)
 maximum value and location nag_blast_imax_val (f16dn)
 minimum absolute value and location nag_blast_iamin_val (f16dr)
 minimum value and location nag_blast_imin_val (f16dp)
 sum of elements nag_blast_isum (f16dl)
 real vector(s),
 maximum absolute value and location nag_blast_damax_val (f16jq)
 maximum value and location nag_blast_dmax_val (f16jn)
 minimum absolute value and location nag_blast_damin_val (f16jr)
 minimum value and location nag_blast_dmin_val (f16jp)
 sum of elements nag_blast_dsum (f16el)
 sum of two scaled vectors nag_blast_daxpby (f16ec)
 sum of two scaled vectors preserving input nag_blast_dwaxpby (f16eh)

## References

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