java - 增量稀疏矩阵
问题描述
我目前正在处理一个非常大的矩阵,所以我不得不使用这样的 CSR 格式:https ://en.m.wikipedia.org/wiki/Sparse_matrix
我设法将普通矩阵转换为具有 3 个数组 IA、JA 和 A 的 CSR 矩阵,就像在维基百科页面中一样。但是,我仍然对这种格式感到困惑。例如,如果我想增加 CSR 矩阵的第 n 行和第 m 列的元素,我该怎么办?例如,如果我想将第 n 行和第 m 列的元素加 1,这 3 个数组将如何变化?非常感谢您的帮助。
解决方案
好吧,我只是快速阅读它,但 IA 和 JA 都是索引表,实际包含值的数组是 A。如果所有非零值都是正数,那么增加非零值是微不足道的,只会修改 A。但是,如果某些元素为负数或者如果您增加一个包含零的单元格,您的要求就会变得棘手。实际上,您不仅需要在单个索引中更改 A,还需要在数组中间插入一个元素并因此更新 IA。我认为这种格式对于您正在寻找的操作来说简直是太糟糕了,在那些仅用于更新单个单元格的情况下,它将具有线性的最坏情况复杂性。
推荐阅读
- google-apps-script - Apps 脚本需要检查权限并请求 onOpen
- sql - SQL 查询性能 - UI 响应性问题
- unix - 在特定行中输入编辑时打开 FZF,其中包含目录中的文件行
- javascript - 编程我的不和谐机器人时遇到问题
- nativescript - Nativescript 7.x iOS 静态库
- javascript - 无法在 Next.js 中声明 Object.prototype
- .net - UWP BackgroundTransfer StartAsync 但不等待任务完成
- machine-learning - ResNet50:层global_average_pooling2d_2的输入0与层不兼容:预期ndim=4,发现ndim=2
- cmake - $
在 cmake 宏定义中破坏了编译器定义 - python - 将列表添加到熊猫数据框单元格中