cblas_?her2
cblas_?her2
Performs
a rank-2 update of a Hermitian matrix.Syntax
void
cblas_cher2
(
const
CBLAS_LAYOUT
Layout
,
const
CBLAS_UPLO
uplo
,
const
MKL_INT
n
,
const
void
*alpha
,
const
void
*x
,
const
MKL_INT
incx
,
const
void
*y
,
const
MKL_INT
incy
,
void
*a
,
const
MKL_INT
lda
);
void
cblas_zher2
(
const
CBLAS_LAYOUT
Layout
,
const
CBLAS_UPLO
uplo
,
const
MKL_INT
n
,
const
void
*alpha
,
const
void
*x
,
const
MKL_INT
incx
,
const
void
*y
,
const
MKL_INT
incy
,
void
*a
,
const
MKL_INT
lda
);
Include Files
- mkl.h
Description
The
?her2
routines perform a matrix-vector operation defined as A := alpha *x*conjg(y') + conjg(alpha)*y *conjg(x') + A,
where:
alpha
is scalar,x
and y
are n
-element vectors,A
is an n
-by-n
Hermitian matrix.Input Parameters
- Layout
- Specifies whether two-dimensional array storage is row-major (CblasRowMajor) or column-major (CblasColMajor).
- uplo
- Specifies whether the upper or lower triangular part of the arrayais used.If, then the upper triangular of the arrayuplo=CblasUpperais used.If, then the low triangular of the arrayuplo=CblasLowerais used.
- n
- Specifies the order of the matrixA. The value ofnmust be at least zero.
- alpha
- Specifies the scalaralpha.
- x
- Array, size at least(1 + (. Before entry, the incremented arrayn- 1)*abs(incx))xmust contain then-element vectorx.
- incx
- Specifies the increment for the elements ofx.The value ofincxmust not be zero.
- y
- Array, size at least(1 + (. Before entry, the incremented arrayn- 1)*abs(incy))ymust contain then-element vectory.
- incy
- Specifies the increment for the elements ofy.The value ofincymust not be zero.
- a
- Array, size.lda*nBefore entry with, the leadinguplo=CblasUppern-by-nupper triangular part of the arrayamust contain the upper triangular part of the Hermitian matrix and the strictly lower triangular part ofais not referenced.Before entry with, the leadinguplo=CblasLowern-by-nlower triangular part of the arrayamust contain the lower triangular part of the Hermitian matrix and the strictly upper triangular part ofais not referenced.The imaginary parts of the diagonal elements need not be set and are assumed to be zero.
- lda
- Specifies the leading dimension ofaas declared in the calling (sub)program. The value ofldamust be at leastmax(1,.n)
Output Parameters
- a
- With, the upper triangular part of the arrayuplo=CblasUpperais overwritten by the upper triangular part of the updated matrix.With, the lower triangular part of the arrayuplo=CblasLowerais overwritten by the lower triangular part of the updated matrix.The imaginary parts of the diagonal elements are set to zero.