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

 

 

xi, i = 1,..., n, is stored in an array X() with increment

 

 

argument incx. If incx > 0 then xi is stored in

 

 

X (1 + (i - 1) x incx). If incx < 0 then xi 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

 

 

yi, i = 1,..., n, is stored in an array Y() with increment

 

 

argument incy. If incy > 0 then yi is stored in

 

 

Y(1 + (i - 1) x incy). If incy < 0 then yi 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-nreal symmetric or

Chapter 3 Basic Matrix Operations 387