You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

带空行的CSR矩阵如何存储行信息?

关于CSR稀疏矩阵空行存储的疑问解答

你的假设完全正确。

在CSR(Compressed Sparse Row,压缩稀疏行)格式中,row_ranges(也常被称为row_ptr)的核心作用就是标记每行非零元素在values和col_indices数组中的起始与结束位置。对于空行来说,该行对应的起始索引和结束索引完全相同,意味着该行没有任何非零元素,这正是你例子里的处理方式。

以你给出的4x4矩阵为例:

1 0 0 0
0 0 0 0
0 0 0 0
0 0 0 1

对应的CSR存储:

values = [1, 1]
cols = [0, 3]
row_ranges = [0,1,1,1,2]

其中row_ranges的每个区间遵循左闭右开规则:

  • 第0行:范围[0,1),对应values[0],即该行唯一的非零元素
  • 第1行:范围[1,1),长度为0,说明没有非零元素,是空行
  • 第2行:范围[1,1),同样是空行
  • 第3行:范围[1,2),对应values[1],即该行唯一的非零元素

这种处理方式是CSR格式的标准实现逻辑,所有主流数值计算工具都是按照这个规则来处理空行的。

内容的提问来源于stack exchange,提问作者Makogan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 05:36:04