【发布时间】:2012-10-17 14:27:59
【问题描述】:
最常见的稀疏矩阵格式是什么?
我读过 Harwell Boing 格式,Yale 格式,虽然不是明确的稀疏矩阵格式,但 Thorsten Joachims 的 SVMLight 利用了稀疏性。
用 C++ 编写异常安全的解析器最简单的方法应该是什么?
【问题讨论】:
-
SVMLight 很容易解析,但不是标准化的;我已经看到假定基于 1 的列索引和基于零的列索引的文件。你需要这个做什么?
-
为什么要投反对票?这是一个有用的问题。我知道 SVMlight 很容易解析,但我想编写一个适用于最常见格式的解析器,而不是花费时间和精力来处理未使用的格式。
-
你的意思是在内存中还是在磁盘上?压缩行存储可能是程序使用的最常见的备用矩阵格式,并且易于实现和迭代。至于在磁盘上,请使用您提供的任何资源,我在佛罗里达稀疏矩阵集合使用的矩阵市场格式方面取得了很好的成功
-
再说一次,你为什么需要这个?用于计算或存储的各个领域(例如 SVMlight 在机器学习中很流行)使用了多种格式。您应该为您希望应用程序处理的格式编写一个解析器。
-
我需要使用 Eigen SparseMatrix 从内存中的文件加载稀疏矩阵,因为我必须使用线性系统、求解器等,但我想让用户有可能处理著名的格式而不是发明一种新格式,限制用户使用转换脚本或类似的东西......
标签: c++ matrix file-format sparse-matrix