任何人都可以推荐一个 C++ 库,它在 Windows 系统下进行稀疏矩阵运算的效率最高

计算科学 线性代数 软件 图书馆
2021-11-27 04:06:57

我已经下载了sparselib++,但是好像不能在windows下编译,只能在unix下编译,不知道。那么任何人都可以推荐一些可以在 Visual Studio 2010 中使用的东西吗?我想在VS2010中做一个大的稀疏矩阵运算。谢谢!

3个回答

在 Windows 上构建使用 Unix/Linux 构建系统的任何软件包都可能会遇到麻烦;相反,寻找使用 CMake(跨平台 Make)构建的包,这对于能够在任一平台上安装包要好得多。SparseLib++ 确实看起来只是用于在 Unix 上构建。

为此,我推荐PETScTrilinosPETSc 的开发人员之一 Jed Brown 经常在这里发帖,以防您遇到任何问题。还有MTL4,它应该适用于 Windows 并构建 Visual Studio 项目文件。

如果您愿意与 Python 交互而不是使用纯 C++,那么 SciPy/NumPy 中还有许多稀疏矩阵数据结构和例程。

编辑:这是免费线性代数软件的大列表,您可以查看哪些是 C、C++ 或 Fortran 软件。

假设您想要一个 C++ 库,根据您的需要, Eigen可能是一个不错的候选者。它有一个很棒的界面和非常好的性能。

我将它与 VS2010 一起使用:因为它是一个纯模板库,您不需要安装任何东西,只需将链接添加到项目中的标题即可。

希望能帮助到你!

GMRES 是最好的稀疏矩阵求解器之一。我不知道你想解决什么大小的矩阵,但我会建议这个站点用于 GMRES(以及 GMRES 的大多数变体)。在这里你可以找到它的源文件和头文件,你可以将它们添加到你的程序中并使用它。他们给出了该站点上所有变体的已解决示例。要了解有关 GMRES 的更多信息,请在此论坛上搜索有关 GMRES 的问题。一切顺利。