这是一个非常简单的问题 - 使用三角矩阵和在C++中使用稀疏矩阵的最佳实践是什么?C++中的三角形和稀疏矩阵
对于三角矩阵我建议一个数据格式
double* myMatrix;
int dimension;
在自定义类数据结构一样容易。 (我建议它是完整形式的方矩阵)。并且会有设置和访问元素的方法。
对于稀疏矩阵 - 我知道一些方法,例如只保存行/列中元素的位置及其值。这是你的经验的问题 - 稀疏矩阵的实现将是最好的吗?
P.S.内存少,CPU使用率低 - 这是我的目标,我正在寻找最好的解决方案,而不是最简单的解决方案。所有矩阵将用于求解线性方程组。而矩阵的大小将是巨大的。
非常感谢每一个建议!
像Eigen这样的第三方图书馆怎么样? – 2012-04-14 19:36:50
除非您是专家,否则请使用预先存在的库。我推荐Tim Davis的代码,例如CSparse,UMFPACK。 – 2012-04-14 19:37:25
第三方库在我的情况下不是解决方案。也许,我可以搜索开放源码解决方案,并使用lisence允许的某些部分,但由于某些原因,我无法将extern模块作为dll和lib添加到我的项目中。 – 2012-04-14 19:43:23