Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
A newer version of this document is available. Customers should click here to go to the newest version.
?hfrk
Performs a Hermitian rank-k operation for matrix in RFP format.
call chfrk(transr, uplo, trans, n, k, alpha, a, lda, beta, c)
call zhfrk(transr, uplo, trans, n, k, alpha, a, lda, beta, c)
- mkl.fi
 
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,
C is an n-by-n Hermitian matrix in RFP format,
A is an n-by-k matrix in the first case and a k-by-n matrix in the second case.
- transr
 -  
     
CHARACTER*1.
if transr = 'N' or 'n', the normal form of RFP C is stored;
if transr = 'C' or 'c', the conjugate-transpose form of RFP C is stored.
 - uplo
 -  
     
CHARACTER*1. Specifies whether the upper or lower triangular part of the array c is used.
If uplo = 'U' or 'u', then the upper triangular part of the array c is used.
If uplo = 'L' or 'l', then the low triangular part of the array c is used.
 - trans
 -  
     
CHARACTER*1. Specifies the operation:
if trans = 'N' or 'n', then C := alpha*A*AH + beta*C;
if trans = 'C' or 'c', then C := alpha*AH*A + beta*C.
 - n
 -  
     
INTEGER. Specifies the order of the matrix C. The value of n must be at least zero.
 - k
 -  
     
INTEGER. On entry with trans = 'N' or 'n', k specifies the number of columns of the matrix a, and on entry with trans = 'T' or 't' or 'C' or 'c', k specifies the number of rows of the matrix a.
The value of k must be at least zero.
 - alpha
 -  
     
COMPLEX for chfrk
DOUBLE COMPLEX for zhfrk
Specifies the scalar alpha.
 - a
 -  
     
COMPLEX for chfrk
DOUBLE COMPLEX for zhfrk
Array, DIMENSION(lda,ka), where ka is k when trans = 'N' or 'n', and is n otherwise. Before entry with trans = 'N' or 'n', the leading n-by-k part of the array a must contain the matrix A, otherwise the leading k-by-n part of the array a must contain the matrix A.
 - lda
 -  
     
INTEGER. Specifies the leading dimension of a as declared in the calling (sub)program. When trans = 'N' or 'n', then lda must be at least max(1,n), otherwise lda must be at least max(1, k).
 - beta
 -  
     
COMPLEX for chfrk
DOUBLE COMPLEX for zhfrk
Specifies the scalar beta.
 - c
 -  
     
COMPLEX for chfrk
DOUBLE COMPLEX for zhfrk
Array, size (n*(n+1)/2 ). Before entry contains the Hermitian matrix C in in RFP format.
 
- c
 -  
     
If trans = 'N' or 'n', then c contains C := alpha*A*AH + beta*C;
if trans = 'C' or 'c', then c contains C := alpha*AH*A + beta*C ;