Intel® oneAPI Math Kernel Library Developer Reference - C
The routine computes the LU factorization, without pivoting, of a set of general, m x n matrices that have been stored in Compact format (see Compact Format).
void mkl_sgetrfnp_compact (MKL_LAYOUT layout, MKL_INT m, MKL_INT n, float * ap, MKL_INT ldap, MKL_INT * info, MKL_COMPACT_PACK format, MKL_INT nm);
void mkl_dgetrfnp_compact (MKL_LAYOUT layout, MKL_INT m, MKL_INT n, double * ap, MKL_INT ldap, MKL_INT * info, MKL_COMPACT_PACK format, MKL_INT nm);
void mkl_cgetrfnp_compact (MKL_LAYOUT layout, MKL_INT m, MKL_INT n, float * ap, MKL_INT ldap, MKL_INT * info, MKL_COMPACT_PACK format, MKL_INT nm);
void mkl_zgetrfnp_compact (MKL_LAYOUT layout, MKL_INT m, MKL_INT n, double * ap, MKL_INT ldap, MKL_INT * info, MKL_COMPACT_PACK format, MKL_INT nm);
The mkl_?getrfnp_compact routine calculates the LU factorizations of a set of nm general (m x n) matrices A, stored in Compact format, as Ac = Lc*Uc. The factorization (output) data will also be stored in Compact format.
Compact routines have some limitations; see Numerical Limitations.
Specifies whether two-dimensional array storage is row-major (MKL_ROW_MAJOR) or column-major (MKL_COL_MAJOR).
See Compact Format for more details.
Application Notes:
Before calling this routine, mkl_?gepack_compact must be called. After calling this routine, mkl_?geunpack_compact should be called, unless another compact routine will be subsequently called for the Compact format matrices.
The approximate number of floating-point operations for real flavors is:
nm*(2/3)n3, if m = n,
nm*(1/3)n2(3m-n), if m > n,
nm*(1/3)m2(3n-m), if m < n.
The number of operations for complex flavors is four times greater. Directly after calling this routine, you can call the following:
mkl_?getrinp_compact, for computing the inverse of the nm input matrices in Compact format