Developer Reference

Contents

p?laqge

Scales a general rectangular matrix, using row and column scaling factors computed by
p?geequ
.

Syntax

void
pslaqge
(
MKL_INT
*m
,
MKL_INT
*n
,
float
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
float
*r
,
float
*c
,
float
*rowcnd
,
float
*colcnd
,
float
*amax
,
char
*equed
);
void
pdlaqge
(
MKL_INT
*m
,
MKL_INT
*n
,
double
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
double
*r
,
double
*c
,
double
*rowcnd
,
double
*colcnd
,
double
*amax
,
char
*equed
);
void
pclaqge
(
MKL_INT
*m
,
MKL_INT
*n
,
MKL_Complex8
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
float
*r
,
float
*c
,
float
*rowcnd
,
float
*colcnd
,
float
*amax
,
char
*equed
);
void
pzlaqge
(
MKL_INT
*m
,
MKL_INT
*n
,
MKL_Complex16
*a
,
MKL_INT
*ia
,
MKL_INT
*ja
,
MKL_INT
*desca
,
double
*r
,
double
*c
,
double
*rowcnd
,
double
*colcnd
,
double
*amax
,
char
*equed
);
Include Files
  • mkl_scalapack.h
Description
The
p?laqge
function
equilibrates a general
m
-by-
n
distributed matrix sub(
A
) =
A
(
ia
:
ia
+
m
-1
,
ja
:
ja
+
n
-1)
using the row and scaling factors in the vectors
r
and
c
computed by
p?geequ
.
Input Parameters
m
(global)
The number of rows in the distributed matrix sub(
A
).
(
m
0)
.
n
(global)
The number of columns in 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 distributed matrix sub(
A
).
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
.
r
(local).
Array of size
LOCr
(
m_a
)
. The row scale factors for sub(
A
).
r
is aligned with the distributed matrix
A
, and replicated across every process column.
r
is tied to the distributed matrix
A
.
c
(local).
Array of size
LOCc
(
n_a
)
. The row scale factors for sub(
A
).
c
is aligned with the distributed matrix
A
, and replicated across every process column.
c
is tied to the distributed matrix
A
.
rowcnd
(local).
The global ratio of the smallest
r
[
i
] to the largest
r
[
i
] ,
ia
-1 ≤
i
ia+m
-2
.
colcnd
(local).
The global ratio of the smallest
c
[
i
] to the largest
c
[
i
],
ia
-1 ≤
i
ia+n
-2
.
amax
(global).
Absolute value of largest distributed submatrix entry.
Output Parameters
a
(local).
On exit, the equilibrated distributed matrix. See
equed
for the form of the equilibrated distributed submatrix.
equed
(global)
Specifies the form of equilibration that was done.
=
'N'
: No equilibration
=
'R'
: Row equilibration, that is, sub(
A
) has been pre-multiplied by
diag(r[ia-1:ia+m-2])
,
=
'C'
: column equilibration, that is, sub(
A
) has been post-multiplied by
diag(c[ja-1:ja+n-2])
,
=
'B'
: Both row and column equilibration, that is, sub(
A
) has been replaced by
diag(r[ia-1:ia+m-2])* sub(
A
) * diag(c[ja-1:ja+n-2])
.

Product and Performance Information

1

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