HP MLIB User's Guide Vol. 1 7th Ed.
Chapter 3 Basic Matrix Operations 325
Matrix-vector multiply STRMV/DTRMV/CTRMV/ZTRMV
trans Transposition option for A:
’N’ or ’n’ Compute x ← Ax
’T’ or ’t’ Compute x ← A
T
x
’C’ or ’c’ Compute x ← A*x
where A
T
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,
a
ii
= 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-n triangular 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,
x
i
is stored in x((i−1)×incx+1).
incx < 0 x is stored backward in array x; that
is, x
i
is stored in x((i−n)×incx+1).
Use incx = 1 if the vector x is stored contiguously in
array x, that is, if x
i
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.