Developer Reference

Contents

p?laqsy

Scales a symmetric/Hermitian matrix, using scaling factors computed by
p?poequ
.

Syntax

void
pslaqsy
(
char
*uplo
,
MKL_INT
*n
,
float
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
float
*sr
,
float
*sc
,
float
*scond
,
float
*amax
,
char
*equed
);
void
pdlaqsy
(
char
*uplo
,
MKL_INT
*n
,
double
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
double
*sr
,
double
*sc
,
double
*scond
,
double
*amax
,
char
*equed
);
void
pclaqsy
(
char
*uplo
,
MKL_INT
*n
,
MKL_Complex8
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
float
*sr
,
float
*sc
,
float
*scond
,
float
*amax
,
char
*equed
);
void
pzlaqsy
(
char
*uplo
,
MKL_INT
*n
,
MKL_Complex16
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
double
*sr
,
double
*sc
,
double
*scond
,
double
*amax
,
char
*equed
);
Include Files
  • mkl_scalapack.h
Description
The
p?laqsy
function
equilibrates a symmetric distributed matrix sub(
A
) =
A
(
ia
:
ia
+
n
-1,
ja
:
ja
+
n
-1)
using the scaling factors in the vectors
sr
and
sc
. The scaling factors are computed by
p?poequ
.
Input Parameters
uplo
(global) Specifies the upper or lower triangular part of the symmetric distributed matrix
sub(
A
)
is to be referenced:
=
'U'
: Upper triangular part;
=
'L'
: Lower triangular part.
n
(global)
The order of the distributed matrix sub(
A
).
n
0
.
a
(local).
Pointer into the local memory to an array of size
lld_a
*
LOCc
(
ja
+
n
-1)
.
On entry, this array contains the local pieces of the distributed matrix sub(
A
). On entry, the local pieces of the distributed symmetric matrix sub(
A
).
If
uplo
=
'U'
, the leading
n
-by-
n
upper triangular part of sub(
A
) contains the upper triangular part of the matrix, and the strictly lower triangular part of sub(
A
) is not referenced.
If
uplo
=
'L'
, the leading
n
-by-
n
lower triangular part of sub(
A
) contains the lower triangular part of the matrix, and the strictly upper triangular part of sub(
A
) is not referenced.
ia
,
ja
(global)
The row and column indices in the global matrix
A
indicating the first row and the first column of the matrix sub(
A
), respectively.
desca
(global and local) array of size
dlen_
. The array descriptor for the distributed matrix A.
sr
(local)
Array of size
LOCr
(
m_a
). The scale factors for
the matrix
A
(
ia
:
ia
+
m
-1,
ja
:
ja
+
n
-1).
sr
is aligned with the distributed matrix
A
, and replicated across every process column.
sr
is tied to the distributed matrix
A
.
sc
(local)
Array of size
LOCc
(
m_a
). The scale factors for
the matrix
A
(
ia
:
ia
+
m
-1,
ja
:
ja
+
n
-1).
sc
is aligned with the distributed matrix
A
, and replicated across every process column.
sc
is tied to the distributed matrix
A
.
scond
(global).
Ratio of the smallest
sr
[
i
]
(respectively
sc
[
j
]
) to the largest
sr
[
i
]
(respectively
sc
[
j
]
), with
ia
-1 ≤
i
<
ia
+
n
-1 and
ja
-1 ≤
j
<
ja
+
n
-1
.
amax
(global).
Absolute value of largest distributed submatrix entry.
Output Parameters
a
On exit,
if
equed
=
'Y'
, the equilibrated matrix:
diag(
sr
ia
, ...,
sr
ia
+
n
-1
) * sub(
A
) * diag(
sc
ja
, ...,
sc
ja
+
n
-1
)
.
equed
(global).
Specifies whether or not equilibration was done.
=
'N'
: No equilibration.
=
'Y'
: Equilibration was done, that is, sub(
A
) has been replaced by:
diag(
sr
ia
, ...,
sr
ia
+
n
-1
) * sub(
A
) * diag(
sc
ja
, ...,
sc
ja
+
n
-1
)
.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.