HP MLIB User's Guide Vol. 1 7th Ed.
Chapter 3 Basic Matrix Operations 255
Rank-1 update SSPR/DSPR/CHPR/ZHPR
Lower triangular storage
If the lower triangle of A is
then A is packed column-by-column into an array ap as follows:
Lower triangular matrix element a
ij
is stored in array element
ap(i+((j−1)×(2n−j))/2).
Usage VECLIB:
CHARACTER*1 uplo
INTEGER*4 n, incx
REAL*4 alpha, ap(lenap), x(lenx)
CALL SSPR(uplo, n, alpha, x, incx, ap)
CHARACTER*1 uplo
INTEGER*4 n, incx
REAL*8 alpha, ap(lenap), x(lenx)
CALL DSPR(uplo, n, alpha, x, incx, ap)
CHARACTER*1 uplo
INTEGER*4 n, incx
REAL*4 alpha
COMPLEX*8 ap(lenap), x(lenx)
CALL CHPR(uplo, n, alpha, x, incx, ap)
CHARACTER*1 uplo
INTEGER*4 n, incx
REAL*8 alpha
COMPLEX*16 ap(lenap), x(lenx)
CALL ZHPR(uplo, n, alpha, x, incx, ap)
11
21 22
31 32 33
41 42 43 44
k 12345678910
ap(k) 11213141223242334344