F_CHPMV/F_ZHPMV

Hermitian packed matrix-vector multiply

Name

F_CHPMV/F_ZHPMV

 

 

Hermitian packed matrix-vector multiply

Purpose

F_xHPMV multiplies a vector x by a Hermitian packed 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 “SSPMV/DSPMV/CHPMV/ZHPMV” on page 249 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, either the upper or the lower triangle. Compared to

 

storing the entire matrix, you save memory by supplying that triangle stored

 

column-by-column in packed form in a 1-dimensional array. Refer to

 

“SSPMV/DSPMV/CHPMV/ZHPMV” on page 249 for an example of the packed

 

storage of symmetric or Hermitian matrices.

Usage

VECLIB

 

INTEGER*4

INCX, INCY, N, UPLO

COMPLEX*8

ALPHA, BETA

COMPLEX*8

AP( * ), X( * ), Y( * )

SUBROUTINE F_CHPMV (UPLO, N, ALPHA, AP, X, INCX, BETA, Y,

INCY)

 

INTEGER*4

INCX, INCY, N, UPLO

COMPLEX*16

ALPHA, BETA

COMPLEX*16

AP( * ), X( * ), Y( * )

SUBROUTINE F_ZHPMV (UPLO, N, ALPHA, AP, X, INCX, BETA, Y,

INCY)

VECLIB8

INTEGER*8

INCX, INCY, N, UPLO

COMPLEX*8

ALPHA, BETA

COMPLEX*8

AP( * ), X( * ), Y( * )

SUBROUTINE F_CHPMV (UPLO, N, ALPHA, AP, X, INCX, BETA, Y,

INCY)

348HP MLIB User’s Guide