HP MLIB User's Guide Vol. 1 7th Ed.
Chapter 3 Basic Matrix Operations 323
Matrix-vector multiply STRMV/DTRMV/CTRMV/ZTRMV
Name STRMV/DTRMV/CTRMV/ZTRMV
Matrix-vector multiply
Purpose Given an n-by-n upper- or lower-triangular matrix A and an n-vector x, these
subprograms compute the matrix-vector products Ax, A
T
x, and A*x, where A
T
is
the transpose of A, and A* is the conjugate transpose of A. Specifically, these
subprograms compute matrix-vector products of the forms
Refer to “F_STRMV/F_DTRMV/F_CTRMV/F_ZTRMV” on page 408 for a
description of the equivalent BLAS Standard subprograms.
Matrix
Storage
For these subprograms, you supply A in a two-dimensional array large enough
to hold a square matrix. The other triangle of the array is not referenced. If A
has an unstored unit diagonal (see input argument diag), then the diagonal
elements of the array also is not referenced.
Usage VECLIB:
CHARACTER*1 uplo, trans, diag
INTEGER*4 n, lda, incx
REAL*4 a(lda, n), x(lenx)
CALL STRMV(uplo, trans, diag, n, a, lda, x, incx)
CHARACTER*1 uplo, trans, diag
INTEGER*4 n, lda, incx
REAL*8 a(lda, n), x(lenx)
CALL DTRMV(uplo, trans, diag, n, a, lda, x, incx)
CHARACTER*1 uplo, trans, diag
INTEGER*4 n, lda, incx
COMPLEX*8 a(lda, n), x(lenx)
CALL CTRMV(uplo, trans, diag, n, a, lda, x, incx)
CHARACTER*1 uplo, trans, diag
INTEGER*4 n, lda, incx
COMPLEX*16 a(lda, n), x(lenx)
CALL ZTRMV(uplo, trans, diag, n, a, lda, x, incx)
VECLIB8:
CHARACTER*1 uplo, trans, diag
INTEGER*8 n, lda, incx
REAL*4 a(lda, n), x(lenx)
CALL STRMV(uplo, trans, diag, n, a, lda, x, incx)
xAx← xA
T
x← and xA*x.←,,