HP MLIB User's Guide Vol. 1 7th Ed.
Chapter 3 Basic Matrix Operations 347
Hermitian rank-2 update F_CHER2/F_ZHER2
INTEGER*8 INCX, INCY, LDA, N, UPLO
REAL*8 BETA
COMPLEX*16 ALPHA, A( LDA, * ), X( * ), Y( * )
SUBROUTINE F_ZHER2 (UPLO, N, ALPHA, X, INCX, Y, INCY, BETA, A,
LDA)
Input UPLO Specifies whether a triangular matrix is upper or lower
triangular. Use either BLAS_UPPER or BLAS_LOWER.
N Number of elements of vector x.
ALPHA The scalar ALPHA.
X COMPLEX array, minimum length
(N - 1) x |incx| + 1.
INCX Increment for the array x. A vector x having component
x
i
, i = 1,..., n, is stored in an array X() with increment
argument incx. If incx > 0 then x
i
is stored in
X (1 + (i - 1) x incx). If incx < 0 then x
i
is stored in
X (1 + (N - i) x |incx|). incx = 0 is an illegal value.
Y COMPLEX array, minimum length
(N - 1) x |incy| + 1.
INCY Increment for the array y. A vector y having component
y
i
, i = 1,..., n, is stored in an array Y() with increment
argument incy. If incy > 0 then y
i
is stored in
Y(1 + (i - 1) x incy). If incy < 0 then y
i
is stored in
Y(1 + (N - i) x |incy|). incy = 0 is an illegal value.
BETA The scalar BETA.
A COMPLEX array, dimension (LDA, N).
LDA Leading dimension of array A. If lda < 1 or lda < n, an
error condition is generated.
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.
A αxy
∗
ayx
∗
βA with A=A
∗
++←