PSLASRT(3)    ScaLAPACK routine of NEC Numeric Library Collection   PSLASRT(3)



NAME
       PSLASRT - Sort the numbers in D in increasing order and the correspond-
       ing vectors in Q

SYNOPSIS
       SUBROUTINE PSLASRT( ID, N, D, Q, IQ, JQ,  DESCQ,  WORK,  LWORK,  IWORK,
                           LIWORK, INFO )

           CHARACTER       ID

           INTEGER         INFO, IQ, JQ, LIWORK, LWORK, N

           INTEGER         DESCQ( * ), IWORK( * )

           REAL            D( * ), Q( * ), WORK( * )

PURPOSE
       PSLASRT Sort the numbers in D in increasing order and the corresponding
       vectors in Q.

ARGUMENTS
       ID      (global input) CHARACTER*1
               = 'I': sort D in increasing order;
               = 'D': sort D in decreasing order. (NOT IMPLEMENTED YET)

       N       (global input) INTEGER
               The number of columns to be  operated  on  i.e  the  number  of
               columns of the distributed submatrix sub( Q ). N >= 0.

       D       (global input/output) REAL array, dimmension (N)
               On exit, the number in D are sorted in increasing order.

       Q       (local input) REAL pointer into the local memory
               to  an  array  of  dimension (LLD_Q, LOCc(JQ+N-1) ). This array
               contains the local pieces of the distributed matrix sub( A ) to
               be copied from.

       IQ      (global input) INTEGER
               The row index in the global array A indicating the first row of
               sub( Q ).

       JQ      (global input) INTEGER
               The column index in the global array  A  indicating  the  first
               column of sub( Q ).

       DESCQ   (global and local input) INTEGER array of dimension DLEN_.
               The array descriptor for the distributed matrix A.

       WORK    (local workspace/local output) REAL array,
               dimension  (LWORK)  LWORK   (local or global input) INTEGER The
               dimension 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 )

       IWORK   (local workspace/local output) INTEGER array,
               dimension (LIWORK)

               LIWORK (local or global input) INTEGER  The  dimension  of  the
               array IWORK.  LIWORK = N + 2*NB + 2*NPCOL

       INFO    (global output) INTEGER
               = 0:  successful exit
               <  0:   If the i-th argument is an array and the j-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.



ScaLAPACK routine               31 October 2017                     PSLASRT(3)