我目前正在Matlab中原型编写一些依赖于矩阵、DSP、统计和图像分析功能的算法。
以下是一些我可能需要的示例:
- eigenvectors
- 2D和3D卷积
- FFT
- 短时傅里叶变换
- Hilbert变换
- Chebyshev多项式
- 低通滤波器
- 随机多元高斯数
- kmeans
后面我还需要在C++中实现这些算法。
我也有 Numerical Recipes in C++ 的许可证,我喜欢它,因为它有广泛的算法和文档。 我还发现了一个可以帮助将 NR 函数封装成 MEX 的类:nr3matlab.h。所以使用这个类,我应该能够生成包装器,从而允许我从 Matlab 中调用 NR 函数。这对我来说非常重要,因为我可以在从 Matlab 到 C++ 的移植过程中检查每一步。 但是,Numerical Recipes in C++ 有一些重要的缺点:
- 算法的实现方式简单,不一定非常高效
- 没有线程
因此,我考虑使用另一个数值库。 理想的库应该:
- 尽可能广泛地涵盖范围和功能
- 有良好的文档支持
- (有商业支持)
- 已经有了 Matlab 封装器
- 非常健壮
- 非常高效
- 有线程支持
- (具有可以切换到 GPU 实现的功能,而不是使用 CPU)
你会推荐哪个数值库(或几个库)?
提前感谢任何答案!