PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
void CORE_cswap | ( | int | m, |
int | n, | ||
PLASMA_Complex32_t * | Q, | ||
int | ldq, | ||
const PLASMA_Complex32_t * | work, | ||
const int * | perm, | ||
int | start, | ||
int | end | ||
) |
CORE_cswap - Extract the eigenvectors in the range [start,end-1] from work and copy them in order into the Q matrix thanks to the given permutation.
[in] | m | m specifies the number of entries in each eigenvector, i.e. the number of rows of the matrices Q and Work. |
[in] | n | n specifies the number of eigenvectors to copy from work to Q, i.e. the number of columns of the matrices W and work. |
[out] | Q | On entry, matrix of size LDQ -by- n. On exit, Q will contain the n sorted eigenvectors. |
[in] | ldq | ldq specifies the leading dimension of Q. ldq >= max(1,m) |
[in] | work | On entry work contains the non-sorted eigenvectors and is of dimension m-by-n. |
[in] | perm | The permutation array used to copy work into Q. On entry, the i-th eigenvector is stored in the column perm[i] of work, and is copied to the i-th column of Q. |
[in] | start | start specifies the first column index to be considered by this kernel. |
[in] | end | end specifies the last column index to be considered by this kernel |