开源算法库(链接)
最近在做算法方面的研究,发现很难找到一个全面而优质的科学计算算法库。不过还是找到一些,在此记录一下,将来也许自己写一个把所有这些整合在一起。 库名 链接 状态 描述 GSL http://www.gnu.org/software/gsl/ ✅ 有效 来自GNU的科学计算库,算是比较全面。数学上常用的特殊函数,随机分布,微分积分,最小二乘,寻根,优化都包含了。不过在某些方面还有不足,比如优化没有遗传算法,粒子群算法等,积分性能不如下面介绍的cuba。 dlib http://dlib.net/ ✅ 有效 主要为深度学习服务的算法库,包含深度学习相关的优化算法,也包含一些图形图像处理,主要为深度学习的实现服务。 Cuba https://feynarts.de/cuba/ ✅ 有效 四种积分方法库,包含三种MonteCarlo积分和一种精确积分。这几个方法的性能要好于GSL中提供的montecarlo积分。 GAlib http://web.mit.edu/galib/www/GAlib.html ✅ 有效 遗传算法库,包含四种遗传算法。 MRPT https://www.mrpt.org/ ✅ 有效 机器人编程算法库,主要是机器人相关的定位,计算机视觉图像处理,运动规划相关的算法。 KFilter http://kalman.sourceforge.net/ ✅ 有效 卡尔曼滤波器的开源算法库。 C++ Wavelet Libraries http://wavelet2d.sourceforge.net/ ✅ 有效 小波变换算法库。 libfgen https://sourceforge.net/projects/libfgen/ ✅ 有效 遗传算法库,同时也包含粒子群优化算法。 libGeneiAL http://www.geneial.org/ ✅ 有效 开源遗传算法库。 FFTW http://www.fftw.org/ ✅ 有效 离散傅里叶变换库,支持复数和多维变换。 Matrix Template Library (MTL) https://github.com/simunova/mtl4 ✅ 有效 基本线性代数库,类似于BLAS或LAPACK库。 Eigen https://eigen.tuxfamily.org/index.php?title=Main_Page ✅ 有效 线性代数及相关算法库,类似于MTL。 Boost https://www.boost.org/ ✅ 有效 boost其实是类似于C++标准库的一系列库的集合,只是其中也包含了和科学计算有关的库,比如Math,Odeint和uBLAS等。 OpenCV https://opencv.org/ ✅ 有效 计算机视觉库,包含了很多机器视觉算法和底层矩阵算法,比如图像比较,边缘识别等。 Ceres http://ceres-solver.org/ ✅ 有效 Google求解大规模优化问题的C++库,用于求解带约束非线性最小二乘问题和一般不带约束的优化问题。 NLopt https://nlopt.readthedocs.io ✅ 有效 开源非线性优化库。 Ipopt https://coin-or.github.io/Ipopt/ ✅ 有效 非常强大的开源内点法优化库,可对带约束的非线性优化问题进行快速求解。 cernlib https://cernlib.web.cern.ch/cernlib/ ✅ 有效 欧洲核子中心为物理学研究而开发的一套科学计算库,包括数学,数据分析,探测器模拟,数据处理等,功能比较全。 本列表会持续不定期更新。