?sfrk
?sfrk
Performs a symmetric rank-k operation for matrix in RFP format.
Syntax
lapack_int
LAPACKE_ssfrk
(
int
matrix_layout
,
char
transr
,
char
uplo
,
char
trans
,
lapack_int
n
,
lapack_int
k
,
float
alpha
,
const
float
*
a
,
lapack_int
lda
,
float
beta
,
float
*
c
);
lapack_int
LAPACKE_dsfrk
(
int
matrix_layout
,
char
transr
,
char
uplo
,
char
trans
,
lapack_int
n
,
lapack_int
k
,
double
alpha
,
const
double
*
a
,
lapack_int
lda
,
double
beta
,
double
*
c
);
Include Files
- mkl.h
Description
The
?sfrk
routines perform a matrix-matrix operation using symmetric matrices. The operation is defined as C := alpha*A*AT+ beta*C,
or
C := alpha*AT*A + beta*C,
where:
alpha
and beta
are 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= 'T''t', the 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+Tbeta*Cifortrans= 'T''t', then;C:=alpha*A*TA+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',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', thenccontainsC:=alpha*A*A' +beta*C;ifortrans= 'T''t', thenccontains;C:=alpha*A'*A+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