- Specifies whether two-dimensional array storage is row-major (MKL_ROW_MAJOR) or column-major (MKL_COL_MAJOR).
- The number of rows of Ac; m≥ 0.
- The number of columns of Ac; n≥ 0.
- Points to the beginning of thenmAcmatrices. On entry,apcontains either the upper or the lower triangular part of Ac(see uplo).
- Column stride (column-major layout) or row stride (row-major layout) of Ac.
- Points to the beginning of the workspace array.
- The size of the work array. If lwork = -1, a workspace query is assumed; the routine only calculates the optimal size of the work array and returns this value as the first entry of the work array.
- Total number of matrices stored in Compact format.
MKL_R_TYPE *tau_array[nm]; // ... tau_buffer_size = mkl_?get_size_compact(min(m, n), 1, format, nm); MKL_R_TYPE *tau_compact = (MKL_R_TYPE *)mkl_malloc(tau_buffer_size, 128); mkl_?geqrf_compact(layout, m, n, a_compact, ldap, tau_compact, work, lwork, &info, format, nm); // Note that here MKL_COL_MAJOR is used because tau is a 1-d array mkl_?geunpack_compact(MKL_COL_MAJOR, min(m, n), 1, tau_array, min(m, n), tau_compact, min(m, n), format, nm);
- On exit, Acis overwritten by its factorization data.appoints to the beginning of nm factorizations of Ac, stored in Compact format. The factorization data is stored as follows: The elements on and above the diagonal contain the min( m , n )-by- n upper trapezoidal matrix Rc( Rcis upper triangular if m ≥ n ); the elements below the diagonal, with tau , present the orthogonal matrix Qcas a product of min( m , n ) elementary reflectors (see Orthogonal Factorizations: LAPACK Computational Routines). See Compact Format for more details.
- Points to the beginning of a set of the taucarrays, each of which has size min(m,n), stored in Compact format. tauccontains scalars that define elementary reflectors for Qcin its decomposition in a product of elementary reflectors.taupneeds to be allocated by the user before calling this routine. See the application notes (below the description) for more details.
- On exit contains the minimum value of lwork required for optimum performance. Use thislworkfor subsequent runs.
- The parameter is not currently used in this routine. It is reserved for the future use.