Sparse BLAS Skyline Matrix Storage
Format
The skyline storage format is important for the
direct sparse solvers, and it is well suited for Cholesky or LU decomposition
when no pivoting is required.
The skyline storage format accepted in can store only triangular matrix or triangular part of a matrix. This format is specified by two arrays:
Intel® oneAPI Math Kernel Library
values
and
pointers
. The
following table describes these arrays:
- values
- A scalar array. For a lower triangular matrix it contains the set of elements from each row of the matrix starting from the first non-zero element to and including the diagonal element. For an upper triangular matrix it contains the set of elements from each column of the matrix starting with the first non-zero element down to and including the diagonal element. Encountered zero elements are included in the sets.
- pointers
- An integer array with dimension(, wherem+1)mis the number of rows for lower triangle (columns for the upper triangle).gives the index of element inpointers]i] -pointers[0]+1valuesthat is first non-zero element in row (column)i. The value ofis set topointers[m], wherennz+pointers[0]nnzis the number of elements in the arrayvalues.
For example, consider the matrix
C
:

The low triangle of the matrix
C
given above
can be stored as follows:
values = [ 1 -2 5 4 -4 0 2 7 8 0 0 -5 ] pointers = [ 0 1 3 4 8 12 ]
and the upper triangle of this matrix
C
can be stored
as follows:
values = [ 1 -1 5 -3 0 4 6 7 4 0 -5 ] pointers = [ 0 1 3 6 8 11 ]
This storage format is supported by the NIST Sparse
BLAS library [Rem05].
Note that the Sparse BLAS routines operating with the skyline storage format do not support general matrices.
Intel® oneAPI Math Kernel Library