C语言 用于线性代数的 C 库

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/7228575/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-02 09:31:38  来源:igfitidea点击:

C library for linear algebra

clinear-algebra

提问by Cartesius00

Please, give me some tips for a HIGH PERFORMANCE C library for linear algebra (matrix algebra, eigenvalues, eigenvectors etc.). Can be both open-source or closed-source.

请给我一些关于线性代数(矩阵代数、特征值、特征向量等)的高性能 C 库的提示。可以是开源的,也可以是闭源的。

回答by Archie

  1. CLAPACK (f2c'ed version of LAPACK)
  2. GSL - GNU Scientific Library
  1. CLAPACK(LAPACK 的 f2c 版本)
  2. GSL - GNU 科学图书馆

EDITThanks to comments from osgx:

编辑感谢 osgx 的评论:

  • CLAPACK is the library which uder the hood uses very high-performance BLAS library, as do other libraries, like ATLAS.
  • GSL is a standalone C library, not as fast as any based on BLAS. However its performance is still quite good (not extremelygood though) and is used quite often; mostly because of its portability.
  • CLAPACK 是引擎盖下使用非常高性能的 BLAS 库的库,其他库(如 ATLAS)也是如此。
  • GSL 是一个独立的 C 库,不如任何基于 BLAS 的库快。不过其性能还是相当不错的(不是非常虽好),并使用相当频繁; 主要是因为它的便携性。

I know both LAPACK and GSL and I can recommend both of them. LAPACK is very low-level library and GSL may be more comfortable to use, but speaking of good performance -- BLAS-based library it is.

我知道 LAPACK 和 GSL,我可以推荐它们。LAPACK 是非常低级的库,GSL 使用起来可能更舒服,但说到良好的性能——它是基于 BLAS 的库。

回答by static_rtti

ATLAS, maybe?

阿特拉斯,也许?

Edit: if you're open to C++, you should definitely check Eigen, it's a very neat library, and pretty fast too, according to the benchmarks.

编辑:如果您对 C++持开放态度,则绝对应该检查Eigen,根据基准测试,它是一个非常简洁的库,而且速度也非常快。

回答by Yauhen Yakimovich

Again if you are actually looking/open for modern C++ code, Armadillois getting really hyped/popular. Also see their own benchmarkingagainst IT++and Newmat.

再说一次,如果您实际上正在寻找/打开现代 C++ 代码,Armadillo正变得非常大肆/流行。另请参阅他们自己针对IT++Newmat基准测试