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

Chapter 3 Basic Matrix Operations 389
Symmetric matrix-vector multiply F_SSYMV/F_DSYMV/F_CSYMV/F_ZSYMV
Name F_SSYMV/F_DSYMV/F_CSYMV/F_ZSYMV
Symmetric matrix-vector multiply
Purpose F_xSYMV multiplies a vector x by a real or complex symmetric matrix A, scales
the resulting vector, and adds it to the scaled vector operand y. If n is less than
or equal to zero, or if β is equal to one and α is equal to zero, this routine
returns immediately.
Refer to “SSYMV/DSYMV/CHEMV/ZHEMV” on page 270 for a description of
the equivalent HP MLIB legacy BLAS 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
INTEGER*4 INCX, INCY, LDA, N, UPLO
REAL*4 ALPHA, BETA, A( LDA, * ), X( * ), Y( * )
SUBROUTINE F_SSYMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,
INCY)
INTEGER*4 INCX, INCY, LDA, N, UPLO
REAL*8 ALPHA, BETA, A( LDA, * ), X( * ), Y( * )
SUBROUTINE F_DSYMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,
INCY)
INTEGER*4 INCX, INCY, LDA, N, UPLO
COMPLEX*8 ALPHA, BETA, A( LDA, * ), X( * ), Y( * )
SUBROUTINE F_CSYMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,
INCY)
INTEGER*4 INCX, INCY, LDA, N, UPLO
COMPLEX*16 ALPHA, BETA,A( LDA, * ), X( * ), Y( * )
SUBROUTINE F_ZSYMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,
INCY)
VECLIB8
INTEGER*8 INCX, INCY, LDA, N, UPLO
REAL*4 ALPHA, BETA, A( LDA, * ), X( * ), Y( * )
SUBROUTINE F_SSYMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,
INCY)
y αAx βy with A=A
T
+