Visible to Intel only — GUID: GUID-8F92C786-3784-4FCC-B948-7FE03979903A
Visible to Intel only — GUID: GUID-8F92C786-3784-4FCC-B948-7FE03979903A
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:
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 non-zero values in a given row must be placed into the values array in the order in which they occur in the row (from left to right);
no diagonal element can be omitted from the values array for any symmetric or structurally symmetric matrix.
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.