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.

 

y ← αAx + βy with A=A

 

Refer to “SSYMV/DSYMV/CHEMV/ZHEMV” on page 270 for a description of

 

the equivalent HP MLIB legacy BLAS 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

 

 

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)

 

342HP MLIB User’s Guide