Visible to Intel only — GUID: GUID-8AAD408A-0437-4AF9-A98A-11E222A1E14B
Visible to Intel only — GUID: GUID-8AAD408A-0437-4AF9-A98A-11E222A1E14B
p?laqge
Scales a general rectangular matrix, using row and column scaling factors computed by p?geequ .
Syntax
call pslaqge(m, n, a, ia, ja, desca, r, c, rowcnd, colcnd, amax, equed)
call pdlaqge(m, n, a, ia, ja, desca, r, c, rowcnd, colcnd, amax, equed)
call pclaqge(m, n, a, ia, ja, desca, r, c, rowcnd, colcnd, amax, equed)
call pzlaqge(m, n, a, ia, ja, desca, r, c, rowcnd, colcnd, amax, equed)
Description
The p?laqgeroutine 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) INTEGER.
The number of rows in the distributed matrix sub(A). (m ≥0).
- n
-
(global) INTEGER.
The number of columns in the distributed matrix sub(A). (n ≥0).
- a
-
(local).
REAL for pslaqge
DOUBLE PRECISION for pdlaqge
COMPLEX for pclaqge
COMPLEX*16 for pzlaqge.
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) INTEGER. 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) INTEGER array of size dlen_. The array descriptor for the distributed matrix A.
- r
-
(local).
REAL for pslaqge
DOUBLE PRECISION for pdlaqge
COMPLEX for pclaqge
COMPLEX*16 for pzlaqge.
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).
REAL for pslaqge
DOUBLE PRECISION for pdlaqge
COMPLEX for pclaqge
COMPLEX*16 for pzlaqge.
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).
REAL for pslaqge
DOUBLE PRECISION for pdlaqge
COMPLEX for pclaqge
COMPLEX*16 for pzlaqge.
The global ratio of the smallest r(i) to the largest r(i), ia ≤ i ≤ ia+m-1.
- colcnd
-
(local).
REAL for pslaqge
DOUBLE PRECISION for pdlaqge
COMPLEX for pclaqge
COMPLEX*16 for pzlaqge.
The global ratio of the smallest c(i) to the largest c(i), ia ≤ i ≤ ia+n-1.
- amax
-
(global). REAL for pslaqge
DOUBLE PRECISION for pdlaqge
COMPLEX for pclaqge
COMPLEX*16 for pzlaqge.
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) CHARACTER.
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:ia+m-1)),
= 'C': column equilibration, that is, sub(A) has been post-multiplied by diag(c(ja:ja+n-1)),
= 'B': Both row and column equilibration, that is, sub(A) has been replaced by diag(r(ia:ia+m-1))* sub(A) * diag(c(ja:ja+n-1)).