C++ c++;计算大型稀疏矩阵最大特征向量的库
作为一个更大问题(图像上的光谱聚类)的一部分,我必须计算对应于矩阵最大特征值的特征向量。 矩阵相当大(250000行/列),对称且带状,每行约有100个条目 实际上我甚至不需要真正的特征向量,但(相对)粗略的近似就足够了,这就是为什么我怀疑迭代解算器最合适的原因C++ c++;计算大型稀疏矩阵最大特征向量的库,c++,sparse-matrix,eigenvector,C++,Sparse Matrix,Eigenvector,作为一个更大问题(图像上的光谱聚类)的一部分,我必须计算对应于矩阵最大特征值的特征向量。 矩阵相当大(250000行/列),对称且带状,每行约有100个条目 实际上我甚至不需要真正的特征向量,但(相对)粗略的近似就足够了,这就是为什么我怀疑迭代解算器最合适的原因 似乎ARPACK将是首选的武器,但必须从FORTRAN代码编译它,然后围绕它包装一个C++接口,似乎是一个转折点。是否有其他选择(最好完全用c++编写) 目前使用OpenCV和Eng3,我甚至在考虑实现我自己的幂迭代方法,但不知怎么的,
似乎ARPACK将是首选的武器,但必须从FORTRAN代码编译它,然后围绕它包装一个C++接口,似乎是一个转折点。是否有其他选择(最好完全用c++编写)
目前使用OpenCV和Eng3,我甚至在考虑实现我自己的幂迭代方法,但不知怎么的,我认为应该有一个库,它比以前更高效和稳定……/P>似乎有C++版本?它只是fortran库的包装器。是的,它可以工作,但我在windows上,所以它不像一些容易得到魔法。我只是想知道是否还有其他东西可以做这项工作,因为我觉得奇怪的是,唯一能够做这项工作的库是一个有十年历史的fortran库……一个旧fortran库根本没有什么问题。大多数情况下,这些库都得到了正确的实现和良好的测试,并处理诸如数学之类的“永恒”主题。因此,即使是更新的版本也没有什么意义,因为它只是完全填补了“这里没有发明”的综合症。因此,SWIG和其他的发展。除此之外,fortran代码往往相当高效。