Inscientific computing,skyline matrix storage, or SKS, or avariable band matrix storage, orenvelope storage scheme[1] is a form of asparse matrix storage format matrix that reduces the storage requirement of a matrix more thanbanded storage. In banded storage, all entries within a fixed distance from the diagonal (called half-bandwidth) are stored. In column-oriented skyline storage, only the entries from the first nonzero entry to the last nonzero entry in each column are stored. There is also row oriented skyline storage, and, for symmetric matrices, only one triangle is usually stored.[2]
Skyline storage has become very popular in thefinite element codes forstructural mechanics, because the skyline is preserved byCholesky decomposition (a method of solving systems oflinear equations with a symmetric,positive-definite matrix; allfill-in falls within the skyline), and systems of equations from finite elements have a relatively small skyline. In addition, the effort of coding skyline Cholesky[3] is about same as for Cholesky for banded matrices (available forbanded matrices, e.g. inLAPACK; for a prototype skyline code, see[3]).
Before storing a matrix in skyline format, the rows and columns are typically renumbered to reduce the size of the skyline (the number of nonzero entries stored) and to decrease the number of operations in the skyline Cholesky algorithm. The same heuristic renumbering algorithm that reduce the bandwidth are also used to reduce the skyline. The basic and one of the earliest algorithms to do that isreverse Cuthill–McKee algorithm.
However, skyline storage is not as popular for very large systems (many millions of equations) because skyline Cholesky is not so easily adapted formassively parallel computing, and general sparse methods,[4] which store only the nonzero entries of the matrix, become more efficient for very large problems due to much less fill-in.