尽管Alglib是一个功能丰富的库,但它似乎缺乏对最常见的基本运算符(涉及矩阵/向量代数)的支持。
用户是否应该让他们自己需要的任何操作符过载,或者是否有一种使用现有的Alglib接口来实现乘法、加法、减法、除法(通过标量)等的更有利于性能的/明智的方法?
作为一个相关问题,我认为提出和接受的解决方案相当不满意。通常,当一个库已经有了一个好的库时,就不会简单地切换到另一个库。我只是发现需要更频繁地执行这些操作,并且切换到另一个更麻烦的替代方案并不是最好的事情(MTL4使用boost,这是一个相当大的负担)。不过,使用表达式模板的想法似乎不错,但我不知道是否值得在Alglib上实现这种技术(也就是说,Alglib是否有更好的处理简单代数的方法)。
发布于 2013-09-04 06:53:19
为了在Alglib中实现这些相关的基本功能,我重载了操作符。在Alglib中,我没有找到任何其他方法来做到这一点,并且不相信它是可用的,可以查看有关这个主题的其他问题和答案。
我读到不想切换到另一个库,但我建议快速查看一下Eigen。对我来说,设置它非常容易,因为我已经将库作为我安装的PointCloudLibrary的一部分。此外,文档非常好,我执行所需的操作要快得多。
正常的库文档可以找到:(请参阅亚里斯米操作符部分)
特征快速参考指南
除了普通文档之外,它还有一个不受支持的部分,文档较少,但有更多的算法,如求解器、FFT、多项式、拟合:
本征不支持
我知道,对于我的应用程序,我将删除Alglib的内容,并将其更改为Eigen,因为它的工作更加直观,而且在我看来,文档更好。
https://stackoverflow.com/questions/18568831
复制相似问题