Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用Alglib的向量和矩阵基本运算(加法、乘法)_C++_Matrix_Operator Overloading_Alglib - Fatal编程技术网

C++ 使用Alglib的向量和矩阵基本运算(加法、乘法)

C++ 使用Alglib的向量和矩阵基本运算(加法、乘法),c++,matrix,operator-overloading,alglib,C++,Matrix,Operator Overloading,Alglib,尽管Alglib是一个功能丰富的库,但它似乎缺乏对最常见的基本运算符(涉及矩阵/向量代数)的支持 用户是否应该过载他们自己需要的任何运算符,或者是否有一种更适合性能的方法来使用现有的Alglib接口实现乘法、加法、减法、除法(标量)等 作为一名顾问,我觉得提议和接受的解决方案相当令人不满意。通常,当他们已经有一个好的库时,他们不会简单地切换到另一个库。我只是发现需要更频繁地执行这些操作,而切换到另一个更麻烦的替代方案并不是最好的选择(MTL4使用boost,这是一个相当大的负担)。使用表达式模板

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

用户是否应该过载他们自己需要的任何运算符,或者是否有一种更适合性能的方法来使用现有的Alglib接口实现乘法、加法、减法、除法(标量)等


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

为了在Alglib中实现这些相对基本的函数,我重载了操作符。我在Alglib中找不到任何其他方法来实现这一点,并且我不相信在查看有关该主题的其他问题和答案时,它是可用的

我读到不想切换到其他库,但我建议快速查看
Eigen
。对我来说,设置它非常容易,因为我已经安装了作为PointCloudLibrary一部分的库。此外,文档非常好,我执行所需操作的速度要快得多

可以找到正常的库文档:(检查算术运算符部分)

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

我知道,对于我的应用程序,我将删除Alglib的内容,并改为
Eigen
,因为它工作更直观,而且据我所知,文档更好