Developer Reference

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

?hpr2

Performs a rank-2 update of a Hermitian packed matrix.

Syntax

call chpr2
(
uplo
,
n
,
alpha
,
x
,
incx
,
y
,
incy
,
ap
)
call zhpr2
(
uplo
,
n
,
alpha
,
x
,
incx
,
y
,
incy
,
ap
)
call hpr2
(
ap
,
x
,
y
[
,
uplo
]
[
,
alpha
]
)
Include Files
  • mkl.fi
    ,
    blas.f90
Description
The
?hpr2
routines perform a matrix-vector operation defined as
A
:=
alpha
*
x
*conjg(
y
') + conjg(
alpha
)*
y
*conjg(
x
') +
A
,
where:
alpha
is a scalar,
x
and
y
are
n
-element vectors,
A
is an
n
-by-
n
Hermitian matrix, supplied in packed form.
Input Parameters
uplo
CHARACTER*1
.
Specifies whether the upper or lower triangular part of the matrix
A
is supplied in the packed array
ap
.
If
uplo
=
'U'
or
'u'
, then the upper triangular part of the matrix
A
is supplied in the packed array
ap
.
If
uplo
=
'L'
or
'l'
, then the low triangular part of the matrix
A
is supplied in the packed array
ap
.
n
INTEGER
.
Specifies the order of the matrix
A
. The value of
n
must be at least zero.
alpha
COMPLEX
for
chpr2
DOUBLE COMPLEX
for
zhpr2
Specifies the scalar
alpha
.
x
COMPLEX
for
chpr2
DOUBLE COMPLEX
for
zhpr2
Array, dimension at least
(1 +(
n
- 1)*abs(
incx
))
. Before entry, the incremented array
x
must contain the
n
-element vector
x
.
incx
INTEGER
.
Specifies the increment for the elements of
x
.
The value of
incx
must not be zero.
y
COMPLEX
for
chpr2
DOUBLE COMPLEX
for
zhpr2
Array, size at least
(1 +(
n
- 1)*abs(
incy
))
. Before entry, the incremented array
y
must contain the
n
-element vector
y
.
incy
INTEGER
.
Specifies the increment for the elements of
y
.
The value of
incy
must not be zero.
ap
COMPLEX
for
chpr2
DOUBLE COMPLEX
for
zhpr2
Array, size at least
((
n
*(
n
+ 1))/2)
.
Before entry with
uplo
=
'U'
or
'u'
, the array
ap
must contain the upper triangular part of the Hermitian matrix packed sequentially, column-by-column, so that
ap
(1)
contains
A
1, 1
,
ap
(2)
and
ap
(3)
contain
A
1, 2
and
A
2, 2
respectively, and so on.
Before entry with
uplo
=
'L'
or
'l'
, the array
ap
must contain the lower triangular part of the Hermitian matrix packed sequentially, column-by-column, so that
ap
(1)
contains
A
1, 1
,
ap
(2)
and
ap
</