HP MLIB User's Guide Vol. 1 7th Ed.
286 HP MLIB User’s Guide
SSYR2K/DSYR2K/CHER2K/CSYR2K/ZHER2K/ZSYR2K Rank-2k update
CHARACTER*1 uplo, trans
INTEGER*8 n, k, lda, ldb, ldc
REAL*8 beta
COMPLEX*16 alpha, a(lda, *), b(ldb, *), c(ldc, n)
CALL ZHER2K(uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
CHARACTER*1 uplo, trans
INTEGER*8 n, k, lda, ldb, ldc
COMPLEX*16 alpha, beta, a(lda, *), b(ldb, *), c(ldc, n)
CALL ZSYR2K(uplo, trans, n, k, alpha, a, lda, b, ldb, 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
’T’ or ’t’ Compute
’C’ or ’c’ Compute
’T’ and ’t’ are invalid in subprograms CHER2K and
ZHER2K, and ’C’ and ’c’ are invalid in subprograms
CSYR2K and ZSYR2K. In subprograms SSYR2K and
DSYR2K, ’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, b, or c.
C αAB
T
←αBA
T
βC++
C αA
T
B←αB
T
A βC++
C αA*B←αB* A βC++