Matrix-vector multiply

 

 

STRMV/DTRMV/CTRMV/ZTRMV

 

trans

Transposition option for A:

 

 

’N’ or ’n’

Compute x Ax

 

 

’T’ or ’t’

Compute x ATx

 

 

’C’ or ’c’

Compute x A*x

 

 

where AT is the transpose of A and A* is the conjugate

 

 

transpose. In the real subprograms, ’C’ and ’c’ have the

 

 

same meaning as ’T’ and ’t’.

 

diag

Specifies whether the matrix is unit triangular, that is,

 

 

aii = 1, or not:

 

 

 

’N’ or ’n’

The diagonal of A is stored in the

 

 

 

array

 

 

’U’ or ’u’

The diagonal of A consists of unstored

 

 

 

ones

 

 

When diag is supplied as ’U’ or ’u’, the diagonal

 

 

elements are not referenced.

 

n

Number of rows and columns in matrix A, n ≥ 0. If n =

 

 

0, the subprograms do not reference a or x.

 

a

Array containing the n-by-ntriangular matrix A.

 

lda

The leading dimension of array a as declared in the

 

 

calling program unit, with lda ≥ max(n,1).

 

x

Array of length lenx = (n−1)⋅incx+1 containing the

 

 

input vector x.

 

 

incx

Increment for the array x, incx ≠ 0:

 

 

incx > 0

x is stored forward in array x; that is,

 

 

 

xi is stored in x((i−1)⋅incx+1).

 

 

incx < 0

x is stored backward in array x; that

 

 

 

is, xi is stored in x((in)⋅incx+1).

 

 

Use incx = 1 if the vector x is stored contiguously in

 

 

array x, that is, if xi is stored in x(i). Refer to “BLAS

 

 

Indexing Conventions” in the introduction to

 

 

Chapter 2.

 

Output

x

The updated x vector replaces the input.

Chapter 3 Basic Matrix Operations 325