Visible to Intel only — GUID: GUID-281C43CD-E7A9-4F0D-84B6-F6C7C2AA453E
Visible to Intel only — GUID: GUID-281C43CD-E7A9-4F0D-84B6-F6C7C2AA453E
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?laqsyfunction 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).