XLPack 7.0
XLPack Numerical Library (C API) Reference Manual
Loading...
Searching...
No Matches

◆ zher2()

void zher2 ( char  uplo,
int  n,
doublecomplex  alpha,
doublecomplex  x[],
int  incx,
doublecomplex  y[],
int  incy,
int  lda,
doublecomplex  a[] 
)

Rank 2 operation: A <- αxyH + conjg(α)yxH + A (Hermitian matrices) (BLAS 2)

Purpose
This routine performs the Hermitian rank 2 operation
A <- alpha*x*y^H + conjg(alpha)*y*x^H + A
where alpha is a scalar, x and y are n element vectors and A is an n x n Hermitian matrix.
Parameters
[in]uploSpecifies whether the upper or lower triangular part of the array a[][] is to be referenced as follows:
= 'U': Only the upper triangular part of a[][] is to be referenced.
= 'L': Only the lower triangular part of a[][] is to be referenced.
[in]nOrder of the matrix A. (n >= 0) (If n = 0, returns without computation)
[in]alphaScalar alpha.
[in]x[]Array x[lx] (lx >= 1 + (n - 1)*abs(incx))
Vector x.
[in]incxStorage spacing between elements of x. (incx != 0)
[in]y[]Array y[ly] (ly >= 1 + (n - 1)*abs(incy))
Vector y.
[in]incyStorage spacing between elements of y. (incy != 0)
[in]ldaLeading dimension of the two dimensional array a[][]. (lda >= max(1, n))
[in,out]a[][]Array a[la][lda] (la >= n)
[in] n x n Hermitian matrix A. According to uplo, only upper or lower triangular part is to be referenced. The imaginary parts of the diagonal elements need not be set and are assumed to be zero.
[out] Output matrix (= alpha*x*y^H + conjg(alpha)*y*x^H + A). According to uplo, only upper or lower triangular part is overwritten. The imaginary parts of the diagonal elements are set to zero.
Reference
BLAS