首页 > 解决方案 > 增量稀疏矩阵

问题描述

我目前正在处理一个非常大的矩阵,所以我不得不使用这样的 CSR 格式:https ://en.m.wikipedia.org/wiki/Sparse_matrix

我设法将普通矩阵转换为具有 3 个数组 IA、JA 和 A 的 CSR 矩阵,就像在维基百科页面中一样。但是,我仍然对这种格式感到困惑。例如,如果我想增加 CSR 矩阵的第 n 行和第 m 列的元素,我该怎么办?例如,如果我想将第 n 行和第 m 列的元素加 1,这 3 个数组将如何变化?非常感谢您的帮助。

标签: javamatrixsparse-matrix

解决方案


好吧,我只是快速阅读它,但 IA 和 JA 都是索引表,实际包含值的数组是 A。如果所有非零值都是正数,那么增加非零值是微不足道的,只会修改 A。但是,如果某些元素为负数或者如果您增加一个包含零的单元格,您的要求就会变得棘手。实际上,您不仅需要在单个索引中更改 A,还需要在数组中间插入一个元素并因此更新 IA。我认为这种格式对于您正在寻找的操作来说简直是太糟糕了,在那些仅用于更新单个单元格的情况下,它将具有线性的最坏情况复杂性。


推荐阅读