gpt4 book ai didi

c++ - 寻找用于在 Linux 中高效计算巨大稀疏矩阵的 C/C++ 接口(interface)

转载 作者:太空宇宙 更新时间:2023-11-04 05:46:15 26 4
gpt4 key购买 nike

我正在寻找一个 C/C++ 接口(interface),以便在 Linux 中高效计算巨大的稀疏矩阵。该矩阵可能是数百万乘以数百万/数千。我检查了一些现有的库,但似乎没有一个能满足我的所有要求,

1,我需要通过向其中动态添加元素来创建一个稀疏矩阵。 (不适用于 SparseLib++)

2,我还需要能够创建一个稀疏对角矩阵,以便我可以使用不同的标量缩放另一个稀疏矩阵的列。 (没有找到这方面的库,也许还有另一种方法可以按列缩放稀疏矩阵)

3、需要支持矩阵乘以矩阵/vector 的运算(很多库都支持这些基本运算)

4,需要支持两个稀疏矩阵或 vector 之间的entry-wise乘法或除法,比如MATLAB中的.*或./(没有找到这方面的库,我需要这个操作来筛选出一些条目一个稀疏矩阵与另一个稀疏矩阵的组合)

5、矩阵求逆或线性求解器。 (大多数库都提供了线性系统的求解器)

我最初使用 Python 中的 scipy 来实现我的算法。 Python 消耗太多内存而且速度很慢,这就是为什么我想将我的程序转换为 C。

谢谢。

最佳答案

我会推荐 Tim Davis 的 CSparse。

更新(2019 年):Tim Davis 此后发布了 SuiteSparse .这满足帖子中列出的所有要求,包括增量构建矩阵的能力(参见 slide 34 in a RedisGraph presentationSuiteSparse:GraphBLAS paper 中的“3.1.8 非阻塞模式”)。

关于c++ - 寻找用于在 Linux 中高效计算巨大稀疏矩阵的 C/C++ 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4413732/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com