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-nreal 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

y ← αAx + βy.

The structure of A is indicated by the name of the subprogram used:

SSYMV

or

DSYMV

A is a real symmetric matrix

CHEMV

or

ZHEMV

A is a complex Hermitian matrix

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 Because either triangle of A can be obtained from the other, you only need to

Storage 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)

270HP MLIB User’s Guide