PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
void CORE_zgeqp3_pivot | ( | PLASMA_desc | A, |
PLASMA_Complex64_t * | F, | ||
int | ldf, | ||
int | jj, | ||
int | k, | ||
int * | jpvt, | ||
double * | norms1, | ||
double * | norms2, | ||
int * | info | ||
) |
CORE_zgeqp3_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.
[in,out] | A | On entry, descriptor for m by n matrix A. On exit, column k of jj-th block column is swapped with column pvt. |
[in,out] | F | On 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] | ldf | Leading dimension of F. ldf >= max(1,A.n). |
[in] | jj | Index of current block column, 0 <= jj < A.nt. |
[in] | k | Index of current column within block column, 0 <= k < A.nb. |
[in,out] | jpvt | Permutation vector, dimension n. On exit, swaps entries jpvt[k+jj*nb] and jpvt[pvt]. |
[in,out] | norms1 | On entry, vector of partial column norms, dimension n. On exit, sets norms1[pvt] = norms1[k+jj*nb]. |
[in,out] | norms2 | On entry, vector of original column norms, dimension n. On exit, sets norms2[pvt] = norms2[k+jj*nb]. |
[in] | info | Error code from zgeqp3_update; zero if no error. |