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

254 HP MLIB User’s Guide
SSPR/DSPR/CHPR/ZHPR Rank-1 update
Name SSPR/DSPR/CHPR/ZHPR
Rank-1 update
Purpose These subprograms compute the real symmetric or complex Hermitian rank-1
update
where A is an n-by-n real symmetric or complex Hermitian matrix stored in
packed form as described in “Matrix Storage,α is a real scalar, x is a real or
complex n-vector, and x* is the conjugate transpose of x. (The conjugate
transpose of a real vector is simply the transpose.)
The structure of A is indicated by the name of the subprogram used:
Refer to “F_SSPR/F_DSPR/F_CSPR/F_ZSPR” on page 384, and
“F_CHPR/F_ZHPR” on page 350 for a description of the equivalent BLAS
Standard subprograms.
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.
The following examples illustrate the packed storage of symmetric or
Hermitian matrices.
Upper triangular storage
If the upper triangle of A is
then A is packed column-by-column into an array ap as follows:
Upper triangular matrix element a
ij
is stored in array element ap(i+(j×(j1))/2).
SSPR or DSPR A is a real symmetric matrix
CHPR or ZHPR A is a complex Hermitian matrix
Aaxx* A,+
11 12 13 14
22 23 24
33 34
44
k 12345678910
ap(k) 11122213233314243444