Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
A newer version of this document is available. Customers should click here to go to the newest version.
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.