Intel® oneAPI Math Kernel Library Developer Reference - C
Packs matrices from standard (row or column-major) format to Compact format.
mkl_sgepack_compact(MKL_LAYOUT layout, MKL_INT rows, MKL_INT columns, const float * const *a, MKL_INT lda, float *ap, MKL_INT ldap, MKL_COMPACT_PACK format, MKL_INT nm);
mkl_dgepack_compact(MKL_LAYOUT layout, MKL_INT rows, MKL_INT columns, const double * const *a, MKL_INT lda, double *ap, MKL_INT ldap, MKL_COMPACT_PACK format, MKL_INT nm);
mkl_cgepack_compact (MKL_LAYOUT layout, MKL_INT rows, MKL_INT columns, const mkl_compact_complex_float * const *a, MKL_INT lda, float *ap, MKL_INT ldap, MKL_COMPACT_PACK format, const MKL_INT nm);
mkl_zgepack_compact (MKL_LAYOUT layout, MKL_INT rows, MKL_INT columns, const mkl_compact_complex_double * const *a, MKL_INT lda, double *ap, MKL_INT ldap, MKL_COMPACT_PACK format, MKL_INT nm);
The routine packs nm matrices A from standard format (row or column-major, pointer to pointer) in a into Compact format, storing the new compact format matrices Ac in array ap.
Specifies whether two-dimensional array storage is row-major (MKL_ROW_MAJOR) or column-major (MKL_COL_MAJOR).
layout = MKL_COL_MAJOR |
lda must be at least max (1,rows). |
layout = MKL_ROW_MAJOR |
lda must be at least max (1,columns). |
layout = MKL_COL_MAJOR |
ldap must be at least max (1,rows). |
layout = MKL_ROW_MAJOR |
ldap must be at least max (1,columns). |
The values of ldap used in mkl_?gepack_compact must be consistent with the values used in mkl_?get_size_compact and mkl_?geunpack_compact.
Application Notes:
Directly after calling this routine, any BLAS or LAPACK compact routine can be called. Unpacking matrices from Compact format can be done by calling mkl_?geunpack_compact.