我发现 Eigen 的语法比我使用过的其他数值线性代数库更麻烦:numpy、MATLAB 和 armadillo。所以我写了一堆“帮助”函数,扩展了 Eigen 的语法。 (参见 an earlier question of mine)
我的问题是,这不是已经完成了吗?
我知道 libigl have added some MATLAB-esque function s,但我想知道是否还有更多?
我不想在这里重新发明轮子。
举几个例子:
swap_rows(i, j)
, swap_cols(i, j)
, reshape
, coefficient-wise functions like abs
、日志
等
我正在尝试编写更具可读性的代码。
最佳答案
Matlab 和 numpy 没有表达式的概念,它们的函数总是在真实的矩阵上工作,要么是自己创建的矩阵,要么是临时缓冲区。另一方面,Eigen 使用模板表达式来避免临时内存缓冲区。它的函数应该适用于矩阵和表达式,这可能就是为什么像 reshape
这样的函数没有实现的原因。 Eigen 倾向于将需要临时缓冲区的功能留给用户,以便他们可以控制何时何地出现缓冲区。
系数方面的函数已经存在。请在以下链接中找到更多详细信息。
关于c++ - 用更好的语法/命名扩展 Eigen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38296901/