F_CHPR/F_ZHPR

Hermitian rank-1 update

Name

F_CHPR/F_ZHPR

 

 

Hermitian rank-1 update

Purpose

F_xHPR performs the Hermitian rank-1 update

 

A ← αxx+ β Awith

A=A

 

where A is an Hermitian matrix stored in packed form, α and β are real scalars,

 

x is a complex n-vector, and x* is the conjugate transpose of x.

 

Refer to “SSPR/DSPR/CHPR/ZHPR” on page 254 for a description of the

 

equivalent HP MLIB legacy BLAS subprograms and an illustration of the

 

packed storage of symmetric or Hermitian matrices.

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 the AP

 

matrix).

 

Usage

VECLIB

 

 

INTEGER*4

INCX, N, UPLO

 

REAL*4

ALPHA, BETA

 

COMPLEX*8

AP( * ), X( * )

 

SUBROUTINE F_CHPR (UPLO, N, ALPHA, X, INCX, BETA, AP)

 

INTEGER*4

INCX, N, UPLO

 

REAL*8

ALPHA, BETA

 

COMPLEX*16

AP( * ), X( * )

 

SUBROUTINE F_ZHPR (UPLO, N, ALPHA, X, INCX, BETA, AP)

 

VECLIB8

 

 

INTEGER*8

INCX, N, UPLO

 

REAL*4

ALPHA, BETA

 

COMPLEX*8

AP( * ), X( * )

 

SUBROUTINE F_CHPR (UPLO, N, ALPHA, X, INCX, BETA, AP)

 

INTEGER*8

INCX, N, UPLO

 

REAL*8

ALPHA, BETA

 

COMPLEX*16

AP( * ), X( * )

 

SUBROUTINE F_ZHPR (UPLO, N, ALPHA, X, INCX, BETA, AP)

Input

UPLO

Specifies whether a triangular matrix is upper or lower

 

 

triangular. Use either BLAS_UPPER or BLAS_LOWER.

350HP MLIB User’s Guide