Developer Reference

  • 098
  • 03/30/2020
  • Public Content
Contents

p?syr2k

Performs a rank-2k update of a symmetric distributed matrix.

Syntax

call pssyr2k
(
uplo
,
trans
,
n
,
k
,
alpha
,
a
,
ia
,
ja
,
desca
,
b
,
ib
,
jb
,
descb
,
beta
,
c
,
ic
,
jc
,
descc
)
call pdsyr2k
(
uplo
,
trans
,
n
,
k
,
alpha
,
a
,
ia
,
ja
,
desca
,
b
,
ib
,
jb
,
descb
,
beta
,
c
,
ic
,
jc
,
descc
)
call pcsyr2k
(
uplo
,
trans
,
n
,
k
,
alpha
,
a
,
ia
,
ja
,
desca
,
b
,
ib
,
jb
,
descb
,
beta
,
c
,
ic
,
jc
,
descc
)
call pzsyr2k
(
uplo
,
trans
,
n
,
k
,
alpha
,
a
,
ia
,
ja
,
desca
,
b
,
ib
,
jb
,
descb
,
beta
,
c
,
ic
,
jc
,
descc
)
Include Files
  • mkl_pblas.h
Description
The
p?syr2k
routines perform a distributed matrix-matrix operation defined as
sub(
C
):=
alpha
*sub(
A
)*sub(
B
)'+
alpha
*sub(
B
)*sub(
A
)'+
beta
*sub(
C
),
or
sub(
C
):=
alpha
*sub(
A
)'*sub(
B
) +
alpha
*sub(
B
)'*sub(
A
) +
beta
*sub(
C
),
where:
alpha
and
beta
are scalars,
sub(
C
)
is an
n
-by-
n
symmetric distributed matrix,
sub(
C
)=C(
ic
:
ic
+
n
-1,
jc
:
jc
+
n
-1)
.
sub(
A
)
is a distributed matrix,
sub(
A
)=
A
(
ia
:
ia
+
n
-1,
ja
:
ja
+
k
-1)
, if
trans
=
'N'
or
'n'
, and
sub(
A
)=
A
(
ia
:
ia
+
k
-1,
ja
:
ja
+
n
-1)
otherwise.
sub(
B
)
is a distributed matrix,
sub(
B
)=
B
(
ib
:
ib
+
n
-1,
jb
:
jb
+
k
-1)
, if
trans
=
'N'
or
'n'
, and
sub(
B
)=
B
(
ib
:
ib
+
k
-1,
jb
:
jb
+
n
-1)
otherwise.
Input Parameters
uplo
(global)
CHARACTER*1
.
Specifies whether the upper or lower triangular part of the symmetric distributed matrix
sub(
C
)
is used:
If
uplo
=
'U'
or
'u'
, then the upper triangular part of the
sub(
C
)
is used.
If
uplo
=
'L'
or
'l'
, then the low triangular part of the
sub(
C
)
is used.
trans
(global)
CHARACTER*1
.
Specifies the operation:
if
trans
=
'N'
or
'n'
, then
sub(
C
) :=
alpha
*sub(
A
)*sub(
B
)' +
alpha
*sub(
B
)*sub(
A
)' +
beta
*sub(
C
)
;
if
trans
=
'T'
or
't'
, then
sub(
C
) :=
alpha
*sub(
B
)'*sub(
A
) +
alpha
*sub(
A
)'*sub(