HP MLIB User's Guide Vol. 1 7th Ed.

384 HP MLIB User’s Guide
F_SSPR/F_DSPR/F_CSPR/F_ZSPR Symmetric packed rank-1 update
Name F_SSPR/F_DSPR/F_CSPR/F_ZSPR
Symmetric packed rank-1 update
Purpose F_xSPR performs the symmetric rank-1 update
where A is an n-by-n real symmetric matrix stored in packed form, α and β are
real or complex scalars, x is a real or complex n-vector, and x
T
is the transpose
of x. The routine returns immediately if n is less than or equal to zero.
This F_xSPR interface encompasses the legacy BLAS routine SSPR with added
functionality for complex symmetric matrices. 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 one-dimensional array (refer to the AP
matrix).
Usage VECLIB
INTEGER*4 INCX, N, UPLO
REAL*4 ALPHA, BETA, AP( * ), X( * )
SUBROUTINE F_SSPR (UPLO, N, ALPHA, X, INCX, BETA, AP)
INTEGER*4 INCX, N, UPLO
REAL*8 ALPHA, BETA, AP( * ), X( * )
SUBROUTINE F_DSPR (UPLO, N, ALPHA, X, INCX, BETA, AP)
INTEGER*4 INCX, N, UPLO
COMPLEX*8 ALPHA, BETA, AP( * ), X( * )
SUBROUTINE F_CSPR (UPLO, N, ALPHA, X, INCX, BETA, AP)
INTEGER*4 INCX, N, UPLO
COMPLEX*16 ALPHA, BETA, AP( * ), X( * )
SUBROUTINE F_ZSPR (UPLO, N, ALPHA, X, INCX, BETA, AP)
VECLIB8
INTEGER*8 INCX, N, UPLO
REAL*4 ALPHA, BETA, AP( * ), X( * )
SUBROUTINE F_SSPR (UPLO, N, ALPHA, X, INCX, BETA, AP)
A αxx
T
βA with A=A
T
+