哪里可以获得C / C ++的免费数学库

时间:2011-04-19 22:10:04

标签: c++ matlab

是否有免费的C / C ++库可以做matlab所做的函数类型 - 我的意思是复杂的,比如离散的laplacian等等?是在matlab中创建某种界面并构建我自己的库的最佳选择吗?

由于

8 个答案:

答案 0 :(得分:3)

你看过Boost.Math吗? http://www.boost.org/doc/libs/1_46_1/libs/math/doc/html/index.html

如果你在Windows上,BoostPro有一个非常容易使用的安装程序: http://www.boostpro.com/download/

答案 1 :(得分:2)

如果你想要一个matlab克隆但是免费的东西,你可以使用Octave http://www.gnu.org/software/octave/

我没有在C ++程序中使用它,但它显然有一个C ++ API:

http://octave.sourceforge.net/doxygen/html/index.html

答案 2 :(得分:2)

根据您的目的,可提供各种套餐。

任意精度

  • 主要是整数:GMPMPIR(类似的代码库,MPIR有VC构建)
  • 花车:MPFR
  • 复杂:MPC

专家:

一般:

这只是一些。我没有重复其他人列出的libpari

万一你想知道,Maple,Mathematica,Matlab等都使用GNU MP进行任意精度计算。

答案 3 :(得分:1)

PARI可能是一个不错的选择,虽然我不熟悉使用它:

Official Site for PARI

PARI是一个C库,如果你想要一个独立的软件,他们就有PARI-GP。

以下是上述网站上对PARI的描述:

  

PARI / GP是一种广泛使用的计算机   代数系统设计用于快速   数论中的计算   (分解数,代数数   理论,椭圆曲线......),但也   包含大量其他   用于计算的有用函数   数学实体,如   矩阵,多项式,幂级数,   代数数等,以及很多   超越功能。 PARI也是   可用作C库以供使用   更快的计算。

希望这可能有用!

P.S。据说可以从C ++调用Octave函数,这可能是MATLAB的绝佳替代。

答案 4 :(得分:1)

查看armadillo以简化对矩阵的处理。然后,为了解决PDE,你必须自己完成这项工作,即。明确地构建你的拉普拉斯矩阵,并按照你想要的方式解决它。

还有英特尔MKL(不是免费的),它增加了一些价值:迭代求解器(GMRES,BCG)和一些用于解决简单域(立方体和球体)上的拉普拉斯/泊松方程的黑盒子。

答案 5 :(得分:1)

我使用OpenCV进行大量的图像处理和矩阵操作,这通常是我使用matlab进行的。

http://opencv.willowgarage.com/wiki/

根据您尝试做什么样的数学运算,可能会有些过分,但这对于计算机视觉来说非常有用。

答案 6 :(得分:1)

GNU Scientific Library是C和C ++程序员的免费数值库。

使用Coder toolbox(需要MATLAB R2011a),您还可以将MATLAB代码转换为C或C ++。

答案 7 :(得分:0)