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

270 HP MLIB User’s Guide
SSYMV/DSYMV/CHEMV/ZHEMV Matrix-vector multiply
Name SSYMV/DSYMV/CHEMV/ZHEMV
Matrix-vector multiply
Purpose These subprograms compute the matrix-vector product Ax, where A is an
n-by-n real symmetric or complex Hermitian matrix, and x is a real or complex
n-vector. The product can be stored in the result array, or, optionally, be added
to or subtracted from it. This is handled in a convenient, but general, way by
two scalar arguments, α and β, which are used as multipliers of the
matrix-vector product and the result vector. Specifically, these subprograms
compute the matrix-vector product of the form
The structure of A is indicated by the name of the subprogram used:
Refer to “F_SSYMV/F_DSYMV/F_CSYMV/F_ZSYMV” on page 389 and
“F_CHEMV/F_ZHEMV” on page 342 for equivalent BLAS Standard
subprograms.
Matrix
Storage
Because either triangle of A can be obtained from the other, you only need to
provide one triangle of A. You can supply either the upper or the lower triangle
of A, in a two-dimensional array large enough to hold the entire matrix. The
other triangle of the array is not referenced.
Usage VECLIB:
CHARACTER*1 uplo
INTEGER*4 n, lda, incx, incy
REAL*4 alpha, beta, a(lda, n), x(lenx), y(leny)
CALL SSYMV(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
CHARACTER*1 uplo
INTEGER*4 n, lda, incx, incy
REAL*8 alpha, beta, a(lda, n), x(lenx), y(leny)
CALL DSYMV(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
CHARACTER*1 uplo
INTEGER*4 n, lda, incx, incy
COMPLEX*8 alpha, beta, a(lda, n), x(lenx), y(leny)
CALL CHEMV(uplo, n, alpha, a, lda, x, incx, beta, y, incy)
SSYMV or DSYMV A is a real symmetric matrix
CHEMV or ZHEMV A is a complex Hermitian matrix
y αAx←βy.+