HP MLIB User's Guide Vol. 1 7th Ed.

250 HP MLIB User’s Guide
SSPMV/DSPMV/CHPMV/ZHPMV Matrix-vector multiply
Lower triangular storage
If the lower triangle of A is
then A is packed column-by-column into an array ap as follows:
Lower triangular matrix element a
ij
is stored in array element
ap(i+((j1)×(2nj))/2).
Usage VECLIB:
CHARACTER*1 uplo
INTEGER*4 n, incx, incy
REAL*4 alpha, beta, ap(lenap), x(lenx), y(leny)
CALL SSPMV(uplo, n, alpha, ap, x, incx, beta, y, incy)
CHARACTER*1 uplo
INTEGER*4 n, incx, incy
REAL*8 alpha, beta, ap(lenap), x(lenx), y(leny)
CALL DSPMV(uplo, n, alpha, ap, x, incx, beta, y, incy)
CHARACTER*1 uplo
INTEGER*4 n, incx, incy
COMPLEX*8 alpha, beta, ap(lenap), x(lenx), y(leny)
CALL CHPMV(uplo, n, alpha, ap, x, incx, beta, y, incy)
CHARACTER*1 uplo
INTEGER*4 n, incx, incy
COMPLEX*16 alpha, beta, ap(lenap), x(lenx), y(leny)
CALL ZHPMV(uplo, n, alpha, ap, x, incx, beta, y, incy)
VECLIB8:
CHARACTER*1 uplo
INTEGER*8 n, incx, incy
REAL*4 alpha, beta, ap(lenap), x(lenx), y(leny)
CALL SSPMV(uplo, n, alpha, ap, x, incx, beta, y, incy)
11
21 22
31 32 33
41 42 43 44
k 12345678910
ap(k) 11213141223242334344