HP MLIB User's Guide Vol. 1 7th Ed.
350 HP MLIB User’s Guide
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
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
Storage
Because either triangle of A can be obtained from the other, you only need to
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.
A αxx
∗
βA
∗
with A=A
∗
+←