What you need to know to use vector subprograms

In BLAS Standard routines, you specify an operator argument with a named constant value. The actual numeric value assigned to the named constant is defined in the appropriate language’s include file. Operator arguments are represented in the Fortran 77 interface as INTEGERs. This specification is different from the legacy BLAS, where operator arguments are defined as CHARACTER*1.

Refer to individual routines in “BLAS Standard routines” on page 152 for the named constants you can use to specify operator arguments for basic vector subprograms.

Representation of a permutation matrix

This section explains how the BLAS Standard represents a permutation matrix.

An n-by-npermutation matrix P is represented as a product of at most n interchange permutations. An interchange permutation E is a permutation obtained by swapping two rows of the identity matrix. An efficient way to represent a general permutation matrix P is with an integer vector p of length n. In other words, P = En...E1 and each Ei is the identity with rows i and pi interchanged:

For i = n to 1 and incp < 0, x(i) ↔ x( p(i))

For i = 1 to n and incp > 0, x(i) ↔ x( p(i))

Chapter 2 Basic Vector Operations 37