我正在阅读这篇论文 [全文链接]以了解如何存储超稀疏矩阵。他们从讨论 CSC 格式开始。正如我从 netlib 中了解到的那样,CRS和CSC 格式的存储方式如下所示。
在论文的第 3 页,他们展示了 CSC 格式的图表,以 9*9 矩阵为例,该矩阵以三元组格式表示为
A = {(5, 0, 0.1), (7, 0, 0.2)(3, 6, 0.3), (1, 7, 0.4)}
据我了解,在主要列中,这将产生以下数组:
val = [0.1, 0.2, 0.3, 0.4]; //值数组
IR = [5, 7, 3, 1];//行索引数组
JC = [0, 2, 3, 4]; //列ptrs数组(最后一个元素是非零元素的数量)
在论文中,他们将 JC 数组写为
JC = [0, 2, 2, 2, 2, 2, 2, 3, 4, 4];
我想知道额外的'2'来自哪里。它们代表空列吗?为这样一个基本问题道歉,但任何帮助表示赞赏。