HP MLIB User's Guide Vol. 1 7th Ed.
Chapter 3 Basic Matrix Operations 403
Triangular packed matrix-vector multiply F_STPMV/F_DTPMV/F_CTPMV/F_ZTPMV
Name F_STPMV/F_DTPMV/F_CTPMV/F_ZTPMV
Triangular packed matrix-vector multiply
Purpose F_xTPMV multiplies a vector x by a packed triangular matrix (T), its transpose
(T
T
), or its conjugate transpose (T*), and copies the resulting vector to the
vector operand x. If n is less than or equal to zero, this routine returns
immediately.
Refer to “STPMV/DTPMV/CTPMV/ZTPMV” on page 308 for a description of the
equivalent HP MLIB legacy BLAS subprograms.
Matrix
Storage
You supply the upper or lower triangle of A, stored column-by-column in packed
form in a 1-dimensional array. This saves memory compared to storing the
entire matrix. Refer to “STPMV/DTPMV/CTPMV/ZTPMV” on page 308 for
examples that illustrate the packed storage of a triangular matrix.
Usage VECLIB
INTEGER*4 DIAG, INCX, N, TRANS, UPLO
REAL*4 ALPHA
REAL*4 AP( * ), X( * )
SUBROUTINE F_STPMV (UPLO, TRANS, DIAG, N, ALPHA, AP, X, INCX)
INTEGER*4 DIAG, INCX, N, TRANS, UPLO
REAL*8 ALPHA
REAL*8 AP( * ), X( * )
SUBROUTINE F_DTPMV (UPLO, TRANS, DIAG, N, ALPHA, AP, X, INCX)
INTEGER*4 DIAG, INCX, N, TRANS, UPLO
COMPLEX*8 ALPHA
COMPLEX*8 AP( * ), X( * )
SUBROUTINE F_CTPMV (UPLO, TRANS, DIAG, N, ALPHA, AP, X, INCX)
INTEGER*4 DIAG, INCX, N, TRANS, UPLO
COMPLEX*16 ALPHA
COMPLEX*16 AP( * ), X( * )
SUBROUTINE F_ZTPMV (UPLO, TRANS, DIAG, N, ALPHA, AP, X, INCX)
VECLIB
x αTx←
x αT
T
x←
x αT
∗
x←