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

Chapter 3 Basic Matrix Operations 387
Symmetric rank-2 update F_SSPR2/F_DSPR2/F_CSPR2/F_ZSPR2
INTEGER*8 INCX, INCY, N, UPLO
REAL*4 ALPHA, BETA
REAL*4 AP( * ), X( * ), Y( * )
SUBROUTINE F_SSPR2 (UPLO, N, ALPHA, X, INCX, Y, INCY, BETA, AP)
INTEGER*8 INCX, INCY, N, UPLO
REAL*8 ALPHA, BETA
REAL*8 AP( * ), X( * ), Y( * )
SUBROUTINE F_DSPR2 (UPLO, N, ALPHA, X, INCX, Y, INCY, BETA, AP)
INTEGER*8 INCX, INCY, N, UPLO
COMPLEX*8 ALPHA, BETA
COMPLEX*8 AP( * ), X( * ), Y( * )
SUBROUTINE F_CSPR2 (UPLO, N, ALPHA, X, INCX, Y, INCY, BETA, AP)
INTEGER*8 INCX, INCY, N, UPLO
COMPLEX*16 ALPHA, BETA
COMPLEX*16 AP( * ), X( * ), Y( * )
SUBROUTINE F_ZSPR2 (UPLO, N, ALPHA, X, INCX, Y, INCY, BETA, AP)
Input UPLO Specifies whether a triangular matrix is upper or lower
triangular. Use either BLAS_UPPER or BLAS_LOWER.
N Number of elements of vector x.
ALPHA The scalar ALPHA.
X REAL or COMPLEX array, minimum length
(N - 1) x |incx| + 1.
INCX Increment for the array x. A vector x having component
x
i
, i = 1,..., n, is stored in an array X() with increment
argument incx. If incx > 0 then x
i
is stored in
X (1 + (i - 1) x incx). If incx < 0 then x
i
is stored in
X (1 + (N - i) x |incx|). incx = 0 is an illegal value.
Y REAL or COMPLEX array, minimum length
(N - 1) x |incy| + 1.
INCY Increment for the array y. A vector y having component
y
i
, i = 1,..., n, is stored in an array Y() with increment
argument incy. If incy > 0 then y
i
is stored in
Y(1 + (i - 1) x incy). If incy < 0 then y
i
is stored in
Y(1 + (N - i) x |incy|). incy = 0 is an illegal value.
BETA The scalar BETA.
AP Array containing the upper or lower triangle, as
specified by uplo of an n-by-n real symmetric or