PCLAEVSWP(l) | LAPACK routine (version 1.5) | PCLAEVSWP(l) |
NAME¶
PCLAEVSWP - 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 PCLAEVSWP(
- N, ZIN, LDZI, Z, IZ, JZ, DESCZ, NVS, KEY, RWORK, LRWORK )
- INTEGER
- IZ, JZ, LDZI, LRWORK, N
- INTEGER
- DESCZ( * ), KEY( * ), NVS( * )
- REAL
- RWORK( * ), ZIN( LDZI, * )
- COMPLEX
- Z( * )
PURPOSE¶
PCLAEVSWP 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.DTYPE_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)).
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) REAL 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) COMPLEX 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 the submatrix which is to be operated on.
- JZ (global input) INTEGER
- Z's global column index, which points to the beginning of the 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 processes number 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 the eigenvectors.
- RWORK (local workspace) REAL array, dimension (LRWORK)
- LRWORK (local input) INTEGER dimension of RWORK
12 May 1997 | LAPACK version 1.5 |