0

尽管 Alglib 是一个功能丰富的库,但似乎缺乏对最常见的基本运算符的支持(涉及矩阵/向量代数)。

用户是否应该重载他们自己需要的任何运算符,或者是否有一种更性能友好/可取的方式来使用现有的 Alglib 接口实现乘法、加法、减法、除法(按标量)等?

作为一个相关问题,我发现提议和接受的解决方案非常不令人满意。通常,当他们已经有了一个好的库时,他们不会简单地切换到另一个库。我只是发现需要更频繁地执行这些操作并切换到另一个更麻烦的替代方案并不是最好的事情(MTL4 使用 boost,这是一个相当大的负担)。使用表达式模板的想法虽然看起来不错,但我不知道是否值得在 Alglib 上实现这种技术(也就是说,如果 Alglib 有更好的方法来处理简单的代数)。

4

1 回答 1

1

为了在 Alglib 中实现这些相关的基本功能,我重载了运算符。我没有在 Alglib 中找到任何其他方法来执行此操作,并且不相信可以查看有关该主题的其他问题和答案。

我读到不喜欢切换到另一个库,但我建议快速查看Eigen. 对我来说,设置它非常容易,因为我已经将这些库作为我安装的 PointCloudLibrary 的一部分。此外,文档非常好,我可以更快地执行所需的操作。

可以找到正常的库文档:(检查部分算术运算符)
Eigen 快速参考指南

除了普通文档之外,它还有一个不受支持的部分,文档较少,但具有更多算法,如求解器、FFT、多项式、拟合:
Eigen Unsupported

我知道对于我的应用程序,我将删除 Alglib 的东西并更改为,Eigen因为它更直观,并且据我说文档更好。

于 2013-09-04T06:53:19.443 回答