Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of 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?laqgefunction 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 ≤ iia+m-2.

colcnd

(local).

The global ratio of the smallest c[i] to the largest c[i], ia-1 ≤ iia+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]).

See Also