pdlaqge man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

PDLAQGE(l)			       )			    PDLAQGE(l)

NAME
       PDLAQGE	-  equilibrate	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

SYNOPSIS
       SUBROUTINE PDLAQGE( M, N, A, IA, JA, DESCA, R, C, ROWCND, COLCND, AMAX,
			   EQUED )

	   CHARACTER	   EQUED

	   INTEGER	   IA, JA, M, N

	   DOUBLE	   PRECISION AMAX, COLCND, ROWCND

	   INTEGER	   DESCA( * )

	   DOUBLE	   PRECISION A( * ), C( * ), R( * )

PURPOSE
       PDLAQGE 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.	 Notes
       =====

       Each global data object is described by an associated description  vec‐
       tor.  This vector stores the information required to establish the map‐
       ping between an object element and its corresponding process and memory
       location.

       Let  A  be  a generic term for any 2D block cyclicly distributed array.
       Such a global array has an associated description vector DESCA.	In the
       following  comments,  the  character _ should be read as "of the global
       array".

       NOTATION	       STORED IN      EXPLANATION
       ---------------	--------------	--------------------------------------
       DTYPE_A(global) DESCA( DTYPE_ )The descriptor type.  In this case,
				      DTYPE_A = 1.
       CTXT_A (global) DESCA( CTXT_ ) The BLACS context handle, indicating
				      the BLACS process grid A is distribu-
				      ted over. The context itself is glo-
				      bal, but the handle (the integer
				      value) may vary.
       M_A    (global) DESCA( M_ )    The number of rows in the global
				      array A.
       N_A    (global) DESCA( N_ )    The number of columns in the global
				      array A.
       MB_A   (global) DESCA( MB_ )   The blocking factor used to distribute
				      the rows of the array.
       NB_A   (global) DESCA( NB_ )   The blocking factor used to distribute
				      the columns of the array.
       RSRC_A (global) DESCA( RSRC_ ) The process row over which the first
				      row  of  the  array  A  is  distributed.
       CSRC_A (global) DESCA( CSRC_ ) The process column over which the
				      first column of the array A is
				      distributed.
       LLD_A  (local)  DESCA( LLD_ )  The leading dimension of the local
				      array.  LLD_A >= MAX(1,LOCr(M_A)).

       Let K be the number of rows or columns of  a  distributed  matrix,  and
       assume that its process grid has dimension p x q.
       LOCr(  K	 )  denotes  the  number of elements of K that a process would
       receive if K were distributed over the p processes of its process  col‐
       umn.
       Similarly, LOCc( K ) denotes the number of elements of K that a process
       would receive if K were distributed over the q processes of its process
       row.
       The  values  of	LOCr()	and LOCc() may be determined via a call to the
       ScaLAPACK tool function, NUMROC:
	       LOCr( M ) = NUMROC( M, MB_A, MYROW, RSRC_A, NPROW ),
	       LOCc( N ) = NUMROC( N, NB_A, MYCOL, CSRC_A, NPCOL ).  An	 upper
       bound for these quantities may be computed by:
	       LOCr( M ) <= ceil( ceil(M/MB_A)/NPROW )*MB_A
	       LOCc( N ) <= ceil( ceil(N/NB_A)/NPCOL )*NB_A

ARGUMENTS
       M       (global input) INTEGER
	       The  number of rows to be operated on i.e the number of rows of
	       the distributed submatrix sub( A ). M >= 0.

       N       (global input) INTEGER
	       The number of columns to be operated on i.e the number of  col‐
	       umns of the distributed submatrix sub( A ). N >= 0.

       A       (local input/local output) DOUBLE PRECISION pointer into the
	       local memory to an array of dimension (LLD_A,LOCc(JA+N-1)) con‐
	       taining on entry the M-by-N matrix sub( A ). On exit, the equi‐
	       librated	 distributed  matrix.	See  EQUED for the form of the
	       equilibrated distributed submatrix.

       IA      (global input) INTEGER
	       The row index in the global array A indicating the first row of
	       sub( A ).

       JA      (global input) INTEGER
	       The  column  index  in  the global array A indicating the first
	       column of sub( A ).

       DESCA   (global and local input) INTEGER array of dimension DLEN_.
	       The array descriptor for the distributed matrix A.

       R       (local input) DOUBLE PRECISION array, dimension LOCr(M_A)
	       The row scale factors for sub( A ). R is aligned with the  dis‐
	       tributed	 matrix A, and replicated across every process column.
	       R is tied to the distributed matrix A.

       C       (local input) DOUBLE PRECISION array, dimension LOCc(N_A)
	       The column scale factors of sub( A ). C	is  aligned  with  the
	       distributed  matrix A, and replicated down every process row. C
	       is tied to the distributed matrix A.

       ROWCND  (global input) DOUBLE PRECISION
	       The global ratio of the smallest R(i) to the largest  R(i),  IA
	       <= i <= IA+M-1.

       COLCND  (global input) DOUBLE PRECISION
	       The  global  ratio of the smallest C(i) to the largest C(i), JA
	       <= j <= JA+N-1.

       AMAX    (global input) DOUBLE PRECISION
	       Absolute value of largest distributed submatrix entry.

       EQUED   (global output) CHARACTER
	       Specifies the form of equilibration that was done.  = 'N':   No
	       equilibration
	       = 'R':  Row equilibration, i.e., sub( A ) has been pre-
	       multiplied by diag(R(IA:IA+M-1)),
	       = 'C':  Column equilibration, i.e., sub( A ) has been post-
	       multiplied by diag(C(JA:JA+N-1)),
	       =  'B':	 Both row and column equilibration, i.e., sub( A ) has
	       been  replaced	by   diag(R(IA:IA+M-1))	  *   sub(   A	 )   *
	       diag(C(JA:JA+N-1)).

PARAMETERS
       THRESH  is  a  threshold	 value used to decide if row or column scaling
       should be done based on the ratio of the row or column scaling factors.
       If ROWCND < THRESH, row scaling is done, and if COLCND < THRESH, column
       scaling is done.

       LARGE and SMALL are threshold values used  to  decide  if  row  scaling
       should  be  done	 based on the absolute size of the largest matrix ele‐
       ment.  If AMAX > LARGE or AMAX < SMALL, row scaling is done.

ScaLAPACK version 1.7		13 August 2001			    PDLAQGE(l)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net