PLASMA 2.8.0 PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures

- Main Page
- Modules
- Data Types List

void CORE_cgeqp3_pivot | ( | PLASMA_desc | A,
|  | PLASMA_Complex32_t * | F,
|  | int | ldf,
|  | int | jj,
|  | int | k,
|  | int * | jpvt,
|  | float * | norms1,
|  | float * | norms2,
|  | int * | info
| ) |  |

CORE_cgeqp3_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] | 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 cgeqp3_update; zero if no error.