## Developer Reference

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

# p?her

Performs a rank-1 update of a distributed Hermitian matrix.

## Syntax

Include Files
• mkl_pblas.h
Description
The
p?her
routines perform a distributed matrix-vector operation defined as
`sub(A) := alpha*sub(x)*conjg(sub(x)') + sub(A),`
where:
alpha
is a real scalar,
sub(
A
)
is a
n
-by-
n
distributed Hermitian matrix,
sub(
A
)=
A
(
ia
:
ia
+
n
-1,
ja
:
ja
+
n
-1)
,
sub(
x
)
is distributed vector.
sub(
x
)
denotes
X
(
ix
,
jx
:
jx
+
n
-1)
if
incx
=
m_x
, and
X
(
ix
:
ix
+
n
-1,
jx
)
if
incx
= 1.
Input Parameters
uplo
(global)
CHARACTER*1
.
Specifies whether the upper or lower triangular part of the Hermitian distributed matrix
sub(
A
)
is used:
If
uplo
=
'U'
or
'u'
, then the upper triangular part of the
sub(
A
)
is used.
If
uplo
=
'L'
or
'l'
, then the low triangular part of the
sub(
A
)
is used.
n
(global)
INTEGER
.
Specifies the order of the distributed matrix
sub(
A
)
,
n
0.
alpha
(global)
REAL
for
pcher
DOUBLE REAL
for
pzher
Specifies the scalar
alpha
.
x
(local)
COMPLEX
for
pcher
DOUBLE COMPLEX
for
pzher
Array, size at least
(
jx
-1)*
m_x
+
ix
+(
n
-1)*abs(
incx
))
.
This array contains the entries of the distributed vector
sub(
x
)
.
ix
,
jx
(global)
INTEGER
.
The row and column indices in the distributed matrix
X
indicating the first row and the first column of the submatrix
sub(
x
)
, respectively.
descx
(global and local)
INTEGER
array of dimension 9. The array descriptor of the distributed matrix
X
.
incx
(global)
INTEGER
.
Specifies the increment for the elements of
sub(
x
)
. Only two values are supported, namely 1 and
m_x
.
incx
must not be zero.
a
(local)
COMPLEX
for
pcher
DOUBLE COMPLEX
for
pzher
Array, size
(
lld_a
, LOCq(
ja
+
n
-1))
. This array contains the local pieces of the distributed matrix
sub(
A
)
.
Before entry with
uplo
=
'U'
or
'u'
, the
n
-by-
n
upper triangular part of the distributed matrix
sub(
A
)
must contain the upper triangular part of the Hermitian distributed matrix and the strictly lower triangular part of
sub(
A
)
is not referenced, and with
uplo
=
'L'
or
'l'
, the
n
-by-
n
lower triangular part of the distributed matrix
sub(
A
)
must contain the lower triangular part of the Hermitian distributed matrix and the strictly upper triangular part of
sub(
A
)
is not referenced.