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

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.