c++ - 用更好的语法/命名扩展 Eigen

标签 c++ eigen

我发现 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 倾向于将需要临时缓冲区的功能留给用户,以便他们可以控制何时何地出现缓冲区。

系数方面的函数已经存在。请在以下链接中找到更多详细信息。

http://eigen.tuxfamily.org/dox/group__QuickRefPage.html

关于c++ - 用更好的语法/命名扩展 Eigen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38296901/

相关文章:

image-processing - 如何使用 OpenCV 执行 LU 分解?

c++ - 具有 Eigen 的 CppAD

c++ - 尝试在构造函数中设置成员变量时代码中断

c++ - 如何在不刷新的情况下运行 ESP32 的单元测试?

c++ - 获取 eigen::selfadjointView<Lower>() 的上三角

c++ - Eigen 多线程操作

c++ - 我应该将现有的 MFC 项目转换为哪个工具包?

C++ 标识符

c++ - 我什么时候应该找到附加到模型的 BoundingBox 的最小值和最大值

c++ - 通过 const 引用传递后使用 Eigen::Map 发生错误