Rank-2k update

 

SSYR2K/DSYR2K/CHER2K/CSYR2K/ZHER2K/ZSYR2K

 

k

Number of rows or columns in matrices A and B,

 

 

depending on trans; refer to the description of a for

 

 

details. k ≥ 0; if k = 0, the subprograms do not reference

 

 

a or b.

 

 

alpha

The scalar α. If alpha = 0, the subprograms compute

 

 

C ← βC without referencing a or b.

 

a

Array containing the matrix A, whose size is indicated

 

 

by trans:

 

 

 

’N’ or ’n’

A is n-by-k

 

 

otherwise

A is k-by-n

 

lda

The leading dimension of array a as declared in the

 

 

calling program unit, with lda ≥ max (the number of

 

 

rows of A,1).

 

 

b

Array containing matrix B, which is the same size as

 

 

matrix A. Refer to the description of a for details.

 

ldb

The leading dimension of array b as declared in the

 

 

calling program unit, with ldb ≥ max (the number of

 

 

rows of B,1).

 

 

beta

The scalar β.

 

 

c

Array whose upper or lower triangle, as specified by

 

 

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

 

 

symmetric or Hermitian matrix C. Not used as input if

 

 

beta = 0.

 

 

ldc

The leading dimension of array c as declared in the

 

 

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

Output

c

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

 

 

specified by uplo, replaces the upper or lower triangle

 

 

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

 

 

unchanged.

 

Notes These subprograms conform to specifications of the Level 3 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.

Chapter 3 Basic Matrix Operations 287