HP MLIB User's Guide Vol. 1 7th Ed.
Chapter 3 Basic Matrix Operations 291
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 ←αAA
T
+ βC
’T’ or ’t’ Compute C ←αA
T
A + β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.