Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

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.