Intel® oneAPI Math Kernel Library Developer Reference - C

DSS Nonsymmetric Matrix Storage

For a non-symmetric or non-Hermitian matrix, all non-zero elements need to be stored. Consider the non-symmetric matrix B:



The matrix B has 13 non-zero elements, and all of them are stored as follows:

Storage Arrays for a Non-Symmetric Matrix
one-based indexing                            
values = (1 -1 -3 -2 5 4 6 4 -4 2 7 8 -5)
columns = (1 2 4 1 2 3 4 5 1 3 4 2 5)
rowIndex = (1 4 6 9 12 14)              
zero-based indexing                            
values = (1 -1 -3 -2 5 4 6 4 -4 2 7 8 -5)
columns = (0 1 3 0 1 2 3 4 0 2 3 1 4)
rowIndex = (0 3 5 8 11 13)              

Storage Format Restrictions

The storage format for the sparse solver must conform to two important restrictions:

The second restriction implies that if symmetric or structurally symmetric matrices have zero diagonal elements, then they must be explicitly represented in the values array.