Developer Reference

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

?laqhe

Scales a Hermitian matrix.

Syntax

call claqhe
(
uplo
,
n
,
a
,
lda
,
s
,
scond
,
amax
,
equed
)
call zlaqhe
(
uplo
,
n
,
a
,
lda
,
s
,
scond
,
amax
,
equed
)
Include Files
  • mkl.fi
Description
The routine equilibrates a Hermitian matrix
A
using the scaling factors in the vector
s
.
Input Parameters
uplo
CHARACTER*1
.
Specifies whether to store the upper or lower part of the Hermitian matrix
A
.
If
uplo
=
'U'
, the upper triangular part of
A
;
if
uplo
=
'L'
, the lower triangular part of
A
.
n
INTEGER
. The order of the matrix
A
.
n
0
.
a
COMPLEX
for
claqhe
DOUBLE COMPLEX
for
zlaqhe
Array,
DIMENSION
(
lda
,
n
). On entry, the Hermitian matrix
A
.
If
uplo
=
'U'
, the leading
n
-by-
n
upper triangular part of
a
contains the upper triangular part of matrix
A
and the strictly lower triangular part of
a
is not referenced.
If
uplo
=
'L'
, the leading
n
-by-
n
lower triangular part of
a
contains the lower triangular part of matrix
A
and the strictly upper triangular part of
a
is not referenced.
lda
INTEGER
. The leading dimension of the array
a
.
lda
max(
n
,1)
.
s
REAL
for
claqhe
DOUBLE PRECISION
for
zlaqhe
Array,
DIMENSION
(
n
). The scale factors for
A
.
scond
REAL
for
claqhe
DOUBLE PRECISION
for
zlaqhe
Ratio of the smallest
s
(
i
) to the largest
s
(
i
).
amax
REAL
for
claqhe
DOUBLE PRECISION
for
zlaqhe
Absolute value of largest matrix entry.
Output Parameters
a
If
equed
=
'Y'
,
a
contains the equilibrated matrix
diag(
s
)*A*diag(
s
)
.
equed
CHARACTER*1
.
Specifies whether or not equilibration was done.
If
equed
=
'N'
: No equilibration.
If
equed
=
'Y'
: Equilibration was done, that is,
A
has been replaced by
diag(
s
)*A*diag(
s
)
.
Application Notes
The routine uses internal parameters
thresh
,
large
, and
small
. The parameter
thresh
is a threshold value used to decide if scaling should be done based on the ratio of the scaling factors. If
scond
<
thresh
, scaling is done.
The
large
and
small
parameters are threshold values used to decide if scaling should be done based on the absolute size of the largest matrix element. If
amax
>
large
or
amax
<
small
, scaling is done.