Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
Matrix Storage Schemes for BLAS Routines
Matrix arguments of BLAS routines can use the following storage schemes:
Full storage : a matrix A is stored in a two-dimensional array a , with the matrix element A_{ij} stored in the array element a(i,j) .
Packed storage scheme allows you to store symmetric, Hermitian, or triangular matrices more compactly : the upper or lower triangle of the matrix is packed by columns in a one-dimensional array.
Band storage : a band matrix is stored compactly in a two-dimensional array : columns of the matrix are stored in the corresponding columns of the array, and diagonals of the matrix are stored in rows of the array .
For more information on matrix storage schemes, see Matrix Arguments in the Appendix “Routine and Function Arguments” .
Row-Major and Column-Major Layout
The BLAS routines follow the Fortran convention of storing two-dimensional arrays using column-major layout. When calling BLAS routines from C, remember that they require arrays to be in column-major format, not the row-major format that is the convention for C.