A packed storage matrix, also known as packed matrix, is a term used in programming for representing an m × n {\displaystyle m\times n} matrix. It is a more compact way than an m-by-n rectangular array by exploiting a special structure of the matrix. Typical examples of matrices that can take advantage of packed storage include:
symmetric or hermitian matrix Triangular matrix Banded matrix.
Triangular packed matrices The packed storage matrix allows a matrix to be converted to an array, shrinking the matrix significantly. In doing so, a square n × n {\displaystyle n\times n} matrix is converted to an array of length n(n+1)/2. Consider the following upper matrix:
U = ( a 11 a 12 a 13 a 14 a 22 a 23 a 24 a 33 a 34 a 44 ) {\displaystyle \mathbf {U} ={\begin{pmatrix}a_{11}&a_{12}&a_{13}&a_{14}\\&a_{22}&a_{23}&a_{24}\\&&a_{33}&a_{34}\\&&&a_{44}\\\end{pmatrix}}}
which can be packed into the one array:
U P = ( a 11 ⏟ a 12 a 22 ⏟ a 13 a 23 a 33 ⏟ a 14 , a 24 a 34 a 44 ⏟ ) {\displaystyle \mathbf {UP} =(\underbrace {a_{11}} \ \underbrace {a_{12}\ a_{22}} \ \underbrace {a_{13}\ a_{23}\ a_{33}} \ \underbrace {a_{14},\ a_{24}\ a_{34}\ a_{44}} )}
Similarly the lower matrix:
… excerpt ends here. Continue reading the full article.
