Developer Reference for Intel® oneAPI Math Kernel Library for C
p?lasrt
Sorts the numbers in an array and the corresponding vectors in increasing order.
Syntax
void pslasrt (const char* id, const MKL_INT* n, float* d, const float* q, const MKL_INT* iq, const MKL_INT* jq, const MKL_INT* descq, float* work, const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info);
void pdlasrt (const char* id, const MKL_INT* n, double* d, const double* q, const MKL_INT* iq, const MKL_INT* jq, const MKL_INT* descq, double* work, const MKL_INT* lwork, MKL_INT* iwork, const MKL_INT* liwork, MKL_INT* info);
Include Files
- mkl_scalapack.h
 
Description
p?lasrt sorts the numbers in d and the corresponding vectors in q in increasing order.
Input Parameters
- id
 -  
     
(global)
= 'I': sort d in increasing order;
= 'D': sort d in decreasing order. (NOT IMPLEMENTED YET)
 - n
 -  
     
(global)
The number of columns to be operated on i.e the number of columns of the distributed submatrix sub( Q ). n >= 0.
 - d
 -  
     
(global)
Array, size (n)
 - q
 -  
     
(local)
Pointer into the local memory to an array of size lld_q*LOCc(jq+n-1) .
This array contains the local pieces of the distributed matrix sub( A ) to be copied from.
 - iq
 -  
     
(global)
The row index in the global array A indicating the first row of sub( Q ).
 - jq
 -  
     
(global)
The column index in the global array A indicating the first column of sub( Q ).
 - descq
 -  
     
(global and local)
Array of size dlen_.
The array descriptor for the distributed matrix A.
 - work
 -  
     
(local)
Array, size (lwork)
 - lwork
 -  
     
(local)
The size of the array work.
lwork = MAX( n, NP * ( NB + NQ )), where NP = numroc( n, NB, MYROW, IAROW, NPROW ), NQ = numroc( n, NB, MYCOL, DESCQ( csrc_ ), NPCOL ).
numroc is a ScaLAPACK tool function.
 - iwork
 -  
     
(local)
Array, size (liwork)
 - liwork
 -  
     
(local)
The size of the array iwork.
liwork = n + 2*NB + 2*NPCOL
 
Output Parameters
d  |  
      On exit, the numbers in d are sorted in increasing order.  |  
     
info  |  
      (global) = 0: successful exit < 0: If the i-th argument is an array and the j-th entry had an illegal value, then info = -(i*100+j), if the i-th argument is a scalar and had an illegal value, then info = -i.  |