Developer Reference for Intel® oneAPI Math Kernel Library for C
p?laevswp
Moves the eigenvectors from where they are computed to ScaLAPACK standard block cyclic array.
Syntax
voidpslaevswp ( 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 );
voidpdlaevswp ( 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 );
voidpclaevswp ( 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 );
voidpzlaevswp ( 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 );
Include Files
mkl_scalapack.h
Description
pslaevswp pdlaevswp pclaevswp pzlaevswp The p?laevswp routine function 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.
Input Parameters
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). REAL for pslaevswp DOUBLE PRECISION for pdlaevswp COMPLEX for pclaevswp COMPLEX*16 for pzlaevswp .
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). REAL for pslaevswp DOUBLE PRECISION for pdlaevswp COMPLEX for pclaevswp COMPLEX*16 for pzlaevswp . Array of size lrwork .
- lrwork
-
(local)
Size of work.
Output Parameters
- z
-
(local). REAL for pslaevswp DOUBLE PRECISION for pdlaevswp COMPLEX for pclaevswp COMPLEX*16 for pzlaevswp .
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 .