Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

?syr2k

Performs a symmetric rank-2k update.

Syntax

call ssyr2k
(
uplo
,
trans
,
n
,
k
,
alpha
,
a
,
lda
,
b
,
ldb
,
beta
,
c
,
ldc
)
call dsyr2k
(
uplo
,
trans
,
n
,
k
,
alpha
,
a
,
lda
,
b
,
ldb
,
beta
,
c
,
ldc
)
call csyr2k
(
uplo
,
trans
,
n
,
k
,
alpha
,
a
,
lda
,
b
,
ldb
,
beta
,
c
,
ldc
)
call zsyr2k
(
uplo
,
trans
,
n
,
k
,
alpha
,
a
,
lda
,
b
,
ldb
,
beta
,
c
,
ldc
)
call syr2k
(
a
,
b
,
c
[
,
uplo
]
[
,
trans
]
[
,
alpha
]
[
,
beta
]
)
Include Files
  • mkl.fi
    ,
    blas.f90
Description
The
?syr2k
routines perform a rank-2k
matrix-matrix operation for a symmetric matrix
C
using general matrices
A
and
B
The
operation is defined as:
C
:=
alpha
*
A
*
B
' +
alpha
*
B
*
A
' +
beta
*
C
,
or
C := alpha
*
A
'*
B
+
alpha
*
B
'*
A
+
beta
*C
,
where:
alpha
and
beta
are scalars,
C
is an
n
-by-
n
symmetric matrix,
A
and
B
are
n
-by-
k
matrices in the first case, and
k
-by-
n
matrices in the second case.
Input Parameters
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
*
B
'+
alpha
*
B
*
A
'+
beta
*
C
;
if
trans
= 'T'
or
't'
, then
C
:=
alpha
*
A
'*
B
+
alpha
*
B
'*
A
+
beta
*
C
;