免费数值库、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的主要内容,如果未能解决你的问题,请参考以下文章