免费数值库、C++、Windows

Posted

技术标签:

【中文标题】免费数值库、C++、Windows【英文标题】:Free numerical libraries, C++, Windows 【发布时间】:2010-03-09 20:17:56 【问题描述】:

我对数学/数值分析编程完全陌生,我在整个互联网上寻找合适的库。

我偶然发现的是 CLAPACK、Boost::uBLAS、ATLAS。我需要解决 SLE(线性方程组),所以我猜如果没有 LAPACK 的一些实现,BLAS 本身是不够的。

他们似乎都没有在 Windows 平台上简单直观的工作方式。

有什么建议吗?

Intel MKL 看起来很诱人,但我买不到,因为它是一个学术项目。

据我所知,最好的方法是使用 Cygwin 并为我的系统编译 ATLAS 并使用 LAPACK 扩展。

提前感谢您的任何想法。

编辑 我决定有一天使用 Eigen 并在 linux 下尝试 Intel MKL。

此外,这似乎是对可能选项的简要概述http://gears.aset.psu.edu/hpc/software/numlib/

【问题讨论】:

【参考方案1】:

Mkl 库在非商业许可下免费提供,搜索 Google 即可找到。 http://software.intel.com/en-us/articles/non-commercial-software-development/

我不知道 SEL 是什么,系统线性方程组? boost ublas 具有 LU 分解,您可以使用它来解决一些问题。 Ublas 在 Windows 上的安装相当简单。

【讨论】:

SLE 是真正的线性方程组,很抱歉造成混淆。非常感谢您的链接。不幸的是,它们仅对 Linux 是免费的,但很高兴知道。 @Andrew 在这种情况下,您可以使用 lu decompose 然后使用 ublas 进行反向替换。看看这个crystalclearsoftware.com/cgi-bin/boost_wiki/…更具体地说,crystalclearsoftware.com/cgi-bin/boost_wiki/…【参考方案2】:

“SLE”是指线性方程组吗?如果是,请尝试Eigen。它具有稳定且经过良好测试的大型矩阵LU decomposition 功能。

【讨论】:

【参考方案3】:

根据我的经验,GSL 在 Windows 上运行良好。

【讨论】:

你能提供一个链接如何使用它吗?是否可以与 MSVC 一起使用或仅与 gcc 一起使用? 我在 MSVC 2005 和 2008 中使用gnuwin32.sourceforge.net/packages/gsl.htm 提供的 Windows 端口。【参考方案4】:

GNU 科学库 (GSL) 是一个供 C 和 C++ 程序员使用的数值库。它是 GNU 通用公共许可证下的免费软件。 http://www.gnu.org/software/gsl/

【讨论】:

据我所知,不支持 Windows。正如我所提到的,我正在寻找一个适用于 Windows 的库。【参考方案5】:

除了提到的那些(我更喜欢 GSL 和 Eigen)之外,还有一个名为 TNT http://math.nist.gov/tnt/ 的简单库,非常适合简单的任务。它非常易于使用,不需要大量配置。

【讨论】:

以上是关于免费数值库、C++、Windows的主要内容,如果未能解决你的问题,请参考以下文章

C++数值类型与stringCString之间的转换

(转载)8个免费实用的C++GUI库

C# 用于 UI,c++ 用于库

用于操作图像的 C++ 库

[转] Matlab与C++混合编程,添加OpenCV库

c++数值24整至串,余弦