PLASMA  2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
void CORE_sgeqp3_pivot ( PLASMA_desc  A,
float *  F,
int  ldf,
int  jj,
int  k,
int *  jpvt,
float *  norms1,
float *  norms2,
int *  info 
)

CORE_sgeqp3_pivot finds next pivot, pvt, based on maximum column norm. It applies the swap to the matrices A, F, and vectors jpvt, norms1, norms2. If info != 0, it returns immediately, doing no work.

Parameters
[in,out]AOn entry, descriptor for m by n matrix A. On exit, column k of jj-th block column is swapped with column pvt.
[in,out]FOn entry, n by nb matrix F. On exit, row k is swapped with row pvt - jj*nb. Currently, F is stored column-wise, not tile-wise.
[in]ldfLeading dimension of F. ldf >= max(1,A.n).
[in]jjIndex of current block column, 0 <= jj < A.nt.
[in]kIndex of current column within block column, 0 <= k < A.nb.
[in,out]jpvtPermutation vector, dimension n. On exit, swaps entries jpvt[k+jj*nb] and jpvt[pvt].
[in,out]norms1On entry, vector of partial column norms, dimension n. On exit, sets norms1[pvt] = norms1[k+jj*nb].
[in,out]norms2On entry, vector of original column norms, dimension n. On exit, sets norms2[pvt] = norms2[k+jj*nb].
[in]infoError code from sgeqp3_update; zero if no error.