以下3x3
稀疏矩阵可以使用CSR
格式存储在英特尔MKL库中吗?
A = [ 0 0 1
0 0 0
3 1 4];
valuesA = {1, 3, 1, 4};
columnsA = {2, 0, 1, 2};
rowIndexA = {0, 1, 3};
如何将其与下面的2x3
矩阵区分开?
B = [ 0 0 1
3 1 4];
valuesB = {1, 3, 1, 4};
columnsB = {2, 0, 1, 2};
rowIndexB = {0, 1, 3};
原因是,我有一个全为零的行是矩阵索引。该全零行可以发生在矩阵A
中的任何位置。矩阵A
实际上是一个较大的稀疏矩阵的子矩阵,将在方程Ax = b
的系统中使用。有人可以给我一些见识吗?
答案 0 :(得分:1)
如果该行为空,则只需重复rowIndexA
中的相应值。
对于矩阵
0 0 1
0 0 0
3 1 4
正确的表示是:
valuesA = {1, 3, 1, 4};
columnsA = {2, 0, 1, 2};
rowIndexA = {0, 1, 1, 4};
// ^^^^ repeat 1
rowIndexA
中的最后一个值应等于元素数,即您的情况下为4
。然后,您将在每行中获得正确数量的元素:第一行1 - 0 = 1
,第二行1 - 1 = 0
和最后一行4 - 1 = 3
。