?hfrk
?hfrk
Performs a Hermitian rank-k operation for matrix in RFP format.
Syntax
lapack_int LAPACKE_chfrk
(
int
matrix_layout
,
char
transr
,
char
uplo
,
char
trans
,
lapack_int
n
,
lapack_int
k
,
float
alpha
,
const lapack_complex_float*
a
,
lapack_int
lda
,
float
beta
,
lapack_complex_float*
c
);
lapack_int LAPACKE_zhfrk
(
int
matrix_layout
,
char
transr
,
char
uplo
,
char
trans
,
lapack_int
n
,
lapack_int
k
,
double
alpha
,
const lapack_complex_double*
a
,
lapack_int
lda
,
double
beta
,
lapack_complex_double*
c
);
Include Files
- mkl.h
Description
The
?hfrk
routines perform a matrix-matrix operation using Hermitian matrices. The operation is defined as C := alpha*A*AH+ beta*C,
or
C := alpha*AH*A + beta*C,
where:
alpha
and beta
are real scalars,A
is an n
-by-k
matrix in the first case and a k
-by-n
matrix in the second case.Input Parameters
- matrix_layout
- Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).
- transr
- ifortransr= 'N''n', the normal form of RFPCis stored;ifortransr= 'C''c', the conjugate-transpose form of RFPCis stored.
- uplo
- Specifies whether the upper or lower triangular part of the arraycis used.Iforuplo='U''u', then the upper triangular part of the arraycis used.Iforuplo='L''l', then the low triangular part of the arraycis used.
- trans
- Specifies the operation:ifortrans= 'N''n', then;C:=alpha*A*A+Hbeta*Cifortrans= 'C''c', then.C:=alpha*A*HA+beta*C
- n
- Specifies the order of the matrixC. The value ofnmust be at least zero.
- k
- On entry withortrans='N''n',kspecifies the number of columns of the matrixa, and on entry withortrans='T''t'or'C'or'c',kspecifies the number of rows of the matrixa.The value ofkmust be at least zero.
- alpha
- Specifies the scalaralpha.
- a
- Array, sizemax(1,, wherelda*ka)kais in the following table:Col_majorRow_majortrans='N'kntrans='T'nkortrans='N''n', the leadingn-by-kpart of the arrayamust contain the matrixA, otherwise the leadingk-by-npart of the arrayamust contain the matrixA.
- lda
- Specifies the leading dimension ofaas declared in the calling (sub)program.ldais defined by the following table:Col_majorRow_majortrans='N'max(1,n)max(1,k)trans='T'max(1,k)max(1,n)
- beta
- Specifies the scalarbeta.
- c
Output Parameters
- c
- Ifortrans= 'N''n', thenccontains;C:=alpha*A*A+Hbeta*Cifortrans= 'C''c', thenccontains;C:=alpha*A*HA+beta*C
Return Values
This function returns a value
info
.If , the execution is successful.
info
= 0If
, the info
< 0i
-th parameter had an illegal value.If
, memory allocation error occurred.info
= -1011