Moves the eigenvectors from where they are computed to ScaLAPACK standard block cyclic array.
routinemoves the eigenvectors (potentially unsorted) from where they are computed, to a ScaLAPACK standard block cyclic array, sorted so that the corresponding eigenvalues are sorted.
np= the number of rows local to a given process.
nq= the number of columns local to a given process.
- (global)INTEGER.The order of the matrixA.n≥0.
- (local).REALforpslaevswpDOUBLE PRECISIONforpdlaevswpCOMPLEXforpclaevswpCOMPLEX*16forpzlaevswp.Array of size(. The eigenvectors on input.ldzi,nvs(iam+2) )iamis a process rank from [0,nprocs) interval. Each eigenvector resides entirely in one process. Each process holds a contiguous set ofnvs(eigenvectors. The global number of the first eigenvector that the process holds is: ((sum foriam+2)i=[1,] ofiam+1nvs()+1).i)
- (local)The leading dimension of theINTEGER.zinarray.
- (global)The row and column indices in the global matrixINTEGER.Zindicating the first row and the first column of the submatrixZ, respectively.
- (global and local)INTEGERArray of sizedlen_. The array descriptor for the distributed matrix Z.
- (global)INTEGER.Array of sizenprocs+1nvs(i) = number of eigenvectors held by processes [0,i-1)nvs(1) = number of eigenvectors held by processes [0, 1 -1) = 0.nvs(nprocs+1)= number of eigenvectors held by processes [0,nprocs)= total number of eigenvectors
- (global)INTEGER.Array of sizen. Indicates the actual index (after sorting) for each of the eigenvectors.
- (local).REALforpslaevswpDOUBLE PRECISIONforpdlaevswpCOMPLEXforpclaevswpCOMPLEX*16forpzlaevswp.Array of sizelrwork.
- (local)Size ofINTEGER.work.