Developer Reference

Contents

p?laevswp

Moves the eigenvectors from where they are computed to ScaLAPACK standard block cyclic array.

Syntax

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
);
Include Files
  • mkl_scalapack.h
Description
The
p?laevswp
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).
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.
Output Parameters
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
.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804