Rank-k update

 

 

SSYRK/DSYRK/CHERK/CSYRK/ZHERK/ZSYRK

 

CHARACTER*1

uplo, trans

 

 

INTEGER*8

n, k, lda, ldc

 

 

COMPLEX*16

alpha, beta, a(lda, *), c(ldc, n)

 

CALL ZSYRK(uplo, trans, n, k, alpha, a, lda, beta, c, ldc)

Input

uplo

Upper/lower triangular storage option for C:

 

 

’L’ or ’l’

Reference and update only the lower

 

 

 

triangle of C

 

 

’U’ or ’u’

Reference and update only the upper

 

 

 

triangle of C

 

trans

Specifies the operation to be performed:

 

 

’N’ or ’n’

Compute C ← αAAT + βC

 

 

’T’ or ’t’

Compute C ← αATA + βC

 

 

’C’ or ’c’

Compute C ← αA*A + βC

 

 

’T’ and ’t’ are invalid in subprograms CHERK and

 

 

ZHERK, and ’C’ and ’c’ are invalid in subprograms

 

 

CSYRK and ZSYRK. In subprograms SSYRK and

 

 

DSYRK, ’C’ and ’c’ have the same meaning as ’T’ and ’t’.

 

n

Number of rows and columns in matrix C, n ≥ 0. If

 

 

n = 0, the subprograms do not reference a or c.

 

k

Number of rows or columns in matrix A, k ≥ 0,

 

 

depending on trans; refer to description of A for details.

 

 

If k = 0, the subprograms do not reference a.

 

alpha

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

 

 

C ← βC without referencing a.

 

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).

 

 

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.

 

Chapter 3 Basic Matrix Operations 291