“相邻单元对共享自由度的贡献必须相加。COO 格式允许先收集重复位置,再排序合并为 CSR/CSC;这与稀疏矩阵装配阶段的重复条目语义一致。装配生成代数系统,直接法或迭代法求解该系统是下一阶段…”
形式陈述 ​
对
当
规范 COO 格式用三个等长数组保存三元组
装配阶段常允许同一位置重复出现;此时数组长度是贡献条目数,可能大于最终的
CSR 中的稀疏矩阵—向量乘法按行计算
它需要
稀疏模式还可看成一张二部图:行顶点与列顶点之间的边表示结构非零;方阵若来自邻接或局部耦合,也可直接按未知量图理解。置换行列就是重编号顶点,带宽、消去顺序和并行分区因而都与图结构相连。
直觉 ​
稠密矩阵像一张完整表格,稀疏矩阵更像一份边清单。真正有信息的是“谁与谁相连”和连接权重,而大片零区域只表示没有直接耦合。选格式是在选择主要阅读方向:CSR 把一行的邻居放在一起,CSC 把一列的贡献放在一起,COO 则方便先收集再整理。
这种压缩会把某些原本简单的操作变贵。插入一个新位置可能移动连续数组,任意元素查询需要索引搜索,两个稀疏模式相乘还要动态发现输出位置。节省空间不是免费抽象,而是一组明确的访问权衡。
例子与边界 ​
在
一次 SpMV 因而是
稀疏
稀疏矩阵乘积也可能变稠密。若某个中间顶点连接许多行列,
结构零与数值很小的元素不同。前者由模型保证不存在耦合,后者可能携带关键物理效应或维持正定性;按固定 epsilon 删除小元素会改变问题。若需要 drop tolerance,必须把它作为近似算法及误差来源公开。
推论与应用 ​
Krylov 方法把矩阵主要当作
工程验收应报告维度、
参考资料
- National Institute of Standards and Technology, Matrix Market Exchange Formats.
- Richard Barrett et al., Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, 2nd ed., SIAM, 1994.
- Iain S. Duff, Albert M. Erisman, and John K. Reid, Direct Methods for Sparse Matrices, Oxford University Press, 1986.