PDLAEVSWP(l) | LAPACK routine (version 1.5) | PDLAEVSWP(l) |
NAME¶
PDLAEVSWP - move the eigenvectors (potentially unsorted) from where they are computed, to a ScaLAPACK standard block cyclic array, sorted so that the corresponding eigenvalues are sortedSYNOPSIS¶
- SUBROUTINE PDLAEVSWP(
- N, ZIN, LDZI, Z, IZ, JZ, DESCZ, NVS, KEY,WORK, LWORK )
PURPOSE¶
PDLAEVSWP moves the eigenvectors (potentially unsorted) from where they are computed, to a ScaLAPACK standard block cyclic array, sorted so that the corresponding eigenvalues are sorted. NotesDTYPE_A = 1.
the BLACS process grid A is distribu-
ted over. The context itself is glo-
bal, but the handle (the integer
value) may vary.
array A.
array A.
the rows of the array.
the columns of the array.
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.
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( 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¶
NP = the number of rows local to a given process. NQ = the number of columns local to a given process.- N (global input) INTEGER
- The order of the matrix A. N >= 0.
- ZIN (local input) DOUBLE PRECISION array,
- dimension ( LDZI, NVS(iam) )The eigenvectors on input. Each eigenvector resides entirely in one process. Each process holds a contiguous set of NVS(iam) eigenvectors. The first eigenvector which the process holds is: sum for i=[0,iam-1) of NVS(i)
- LDZI (locl input) INTEGER
- leading dimension of the ZIN array
- Z (local output) DOUBLE PRECISION array
- global dimension (N, N), local dimension (DESCZ(DLEN_), NQ)The eigenvectors on output. The eigenvectors are distributed in a block cyclic manner in both dimensions, with a block size of NB.
- IZ (global input) INTEGER
- Z's global row index, which points to the beginning of thesubmatrix which is to be operated on.
- JZ (global input) INTEGER
- Z's global column index, which points to the beginning ofthe submatrix which is to be operated on.
- DESCZ (global and local input) INTEGER array of dimension DLEN_.
- The array descriptor for the distributed matrix Z.
- NVS (global input) INTEGER array, dimension( nprocs+1 )
- nvs(i) = number of processesnumber of eigenvectors held by processes [0,i-1) nvs(1) = number of eigen vectors held by [0,1-1) == 0 nvs(nprocs+1) = number of eigen vectors held by [0,nprocs) == total number of eigenvectors
- KEY (global input) INTEGER array, dimension( N )
- Indicates the actual index (after sorting) for each of theeigenvectors.
- WORK (local workspace) DOUBLE PRECISION array, dimension (LWORK)
- LWORK (local input) INTEGER dimension of WORK
12 May 1997 | LAPACK version 1.5 |