HP MLIB User's Guide Vol. 1 7th Ed.
342 HP MLIB User’s Guide
F_CHEMV/F_ZHEMV Hermitian matrix-vector multiply
Name F_CHEMV/F_ZHEMV
Hermitian matrix-vector multiply
Purpose F_xHEMV multiplies a vector x by a Hermitian 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. The imaginary part of the diagonal entries of the matrix operand
are supposed to be zero and should not be referenced.
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
COMPLEX*8 ALPHA, BETA
COMPLEX*8 A( LDA, * ), X( * ), Y( * )
SUBROUTINE F_CHEMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,
INCY)
INTEGER*4 INCX, INCY, LDA, N, UPLO
COMPLEX*16 ALPHA, BETA
COMPLEX*16 A( LDA, * ), X( * ), Y( * )
SUBROUTINE F_ZHEMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,
INCY)
VECLIB8
INTEGER*8 INCX, INCY, LDA, N, UPLO
COMPLEX*8 ALPHA, BETA
COMPLEX*8 A( LDA, * ), X( * ), Y( * )
SUBROUTINE F_CHEMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,
INCY)
INTEGER*8 INCX, INCY, LDA, N, UPLO
COMPLEX*16 ALPHA, BETA
COMPLEX*16 A( LDA, * ), X( * ), Y( * )
SUBROUTINE F_ZHEMV (UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y,
INCY)
y αAx βy with A=A
∗
+←