# Matrix Storage Schemes

LAPACK routines use the following matrix storage schemes:

- Full storage: a matrix A is stored in a two-dimensional array a, with the matrix element aij 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: an m-by-n band matrix with kl sub-diagonals and ku super-diagonals is stored compactly in a two-dimensional array ab with `kl+ku+1` rows and n columns. 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.

In “LAPACK Routines: Linear Equations” and “LAPACK Routines: Least Squares and Eigenvalue Problems”, arrays that hold matrices in packed storage have names ending in p; arrays with matrices in band storage have names ending in b. For more information on matrix storage schemes, see “Matrix Arguments” in Appendix “Routine and Function Arguments”.

Parent topic: LAPACK Routines: Least Squares and Eigenvalue Problems