问题 线性代数的C库[关闭]


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


10104
2017-08-29 09:53


起源

谁曾努力编写这样的库并使其低性能?在SE,购物问题不在话题。 - Hans Passant
GSL做到了。他们制作了一个非常便携且功能广泛的功能库,但他们并没有以多平台方式和平台依赖方式对其进行优化。 - osgx


答案:


  1. CLAPACK(LAPACK的f2c版本)
  2. GSL - GNU科学图书馆

编辑 感谢osgx的评论:

  • CLAPACK是引擎盖使用非常高性能的BLAS库的库,其他库(如ATLAS)也是如此。
  • GSL是一个独立的C库,没有任何基于BLAS的快。然而它的表现仍然相当不错(不是 非常 虽然很好但经常使用;主要是因为它的便携性。

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


12
2017-08-29 10:01



clapack中有eigen *吗? - osgx
当然,还有分解等。参见: netlib.org/lapack/lawn41/node111.html (以及其他文档)。 - Archie
对于SVD和特征向量哪个更好/更快? - Cartesius00
良好的BLAS库(基本矩阵 - 矩阵;矢量矩阵;矢量矢量运算),例如, ATLAS或GotoBLAS或Intel MKL +一些LAPACK,它们使用BLAS(所有BLAS库都有相同的接口)。 GSL不会使用高性能BLAS。 - osgx
实际上LAPACK主要基于BLAS(3级)。我没有使用ATLAS,但据我所知,它的性能与LAPACK相当。 - Archie


ATLAS, 也许?

编辑:如果你对C ++开放,你一定要检查 艾根根据基准测试,这是一个非常简洁的图书馆,也非常快。


4
2017-08-29 10:17



地图集中有特征*吗? - osgx


再次,如果您实际上正在寻找/打开现代C ++代码, 犰狳 真的被大肆宣传/流行。 另见自己 标杆 反对 IT ++ 和 Newmat


0
2018-02-13 10:49