Visible to Intel only — GUID: GUID-409DC6FF-C44E-4FA5-B2A0-33D5199FBEA2
Visible to Intel only — GUID: GUID-409DC6FF-C44E-4FA5-B2A0-33D5199FBEA2
p?laevswp
Moves the eigenvectors from where they are computed to ScaLAPACK standard block cyclic array.
void pslaevswp (MKL_INT *n , float *zin , MKL_INT *ldzi , float *z , MKL_INT *iz , MKL_INT *jz , MKL_INT *descz , MKL_INT *nvs , MKL_INT *key , float *work , MKL_INT *lwork );
void pdlaevswp (MKL_INT *n , double *zin , MKL_INT *ldzi , double *z , MKL_INT *iz , MKL_INT *jz , MKL_INT *descz , MKL_INT *nvs , MKL_INT *key , double *work , MKL_INT *lwork );
void pclaevswp (MKL_INT *n , float *zin , MKL_INT *ldzi , MKL_Complex8 *z , MKL_INT *iz , MKL_INT *jz , MKL_INT *descz , MKL_INT *nvs , MKL_INT *key , float *rwork , MKL_INT *lrwork );
void pzlaevswp (MKL_INT *n , double *zin , MKL_INT *ldzi , MKL_Complex16 *z , MKL_INT *iz , MKL_INT *jz , MKL_INT *descz , MKL_INT *nvs , MKL_INT *key , double *rwork , MKL_INT *lrwork );
- mkl_scalapack.h
The p?laevswpfunction 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.
np = the number of rows local to a given process.
nq = the number of columns local to a given process.
- n
-
(global)
The order of the matrix A. n ≥ 0.
- zin
-
(local).
Array of size ldzi * nvs[iam+1]. The eigenvectors on input. iam is a process rank from [0, nprocs) interval. Each eigenvector resides entirely in one process. Each process holds a contiguous set of nvs[iam+1] eigenvectors. The global number of the first eigenvector that the process holds is: ((sum for i=[0, iam] of nvs[i])+1).
- ldzi
-
(local)
The leading dimension of the zin array.
- iz, jz
-
(global) The row and column indices in the global matrix Z indicating the first row and the first column of the submatrix Z, respectively.
- descz
-
(global and local)
Array of size dlen_. The array descriptor for the distributed matrix Z.
- nvs
-
(global)
Array of size nprocs+1
nvs[i] = number of eigenvectors held by processes [0, i)
nvs[0] = number of eigenvectors held by processes [0, 0) = 0
nvs[nprocs]= number of eigenvectors held by [0, nprocs)= total number of eigenvectors.
- key
-
(global)
Array of size n. Indicates the actual index (after sorting) for each of the eigenvectors.
- rwork
-
(local).
Array of size lrwork.
- lrwork
-
(local)
Size of work.
- z
-
(local).
Array of global size n* n and of local size lld_z * nq. The eigenvectors on output. The eigenvectors are distributed in a block cyclic manner in both dimensions, with a block size of nb.