Rank-2 update

 

 

SSYR2/DSYR2/CHER2/ZHER2

 

 

incx < 0

x is stored backward in array x; that

 

 

 

is, xi is stored in x((in)⋅incx+1).

 

 

Use incx = 1 if the vector x is stored contiguously in

 

 

array x, that is, if xi is stored in x(i). Refer to “BLAS

 

 

Indexing Conventions” in the introduction to

 

 

Chapter 2.

 

 

y

Array of length leny = (n−1)⋅incy+1 containing the

 

 

n-vector y.

 

 

incy

Increment for the array y, incy ≠ 0:

 

 

incy > 0

y is stored forward in array y; that is,

 

 

 

yi is stored in y((i−1)⋅incy+1).

 

 

incy < 0

y is stored backward in array y; that

 

 

 

is, yi is stored in y((in)⋅incy+1).

 

 

Use incy = 1 if the vector y is stored contiguously in

 

 

array y, that is, if yi is stored in y(i). Refer to “BLAS

 

 

Indexing Conventions” in the introduction to

 

 

Chapter 2.

 

 

a

Array whose upper or lower triangle, as specified by

 

 

uplo, contains the upper or lower triangle of an n-by-n

 

 

real symmetric or complex Hermitian matrix A. The

 

 

other triangle of a is not referenced.

 

lda

The leading dimension of array a as declared in the

 

 

calling program unit, with lda ≥ max(n,1).

Output

a

The upper or lower triangle of the updated A matrix, as

 

 

specified by uplo, replaces the upper or lower triangle

 

 

of the input, respectively. The other triangle of a is

 

 

unchanged.

 

Notes These subprograms conform to specifications of the Level 2 BLAS.

If an error in the arguments is detected, the subprograms call error handler XERBLA, which writes an error message onto the standard error file and terminates execution. The standard version of XERBLA (refer to the end of this chapter) can be replaced with a user-supplied version to change the error procedure. Error conditions are

uplo ≠ ’L’ or ’l’ or ’U’ or ’u’ n < 0

lda < max(n,1) incx = 0

Chapter 3 Basic Matrix Operations 281