Eigen 3.4 .reshaped()
Eigen 3.4 .reshaped()
我想将特征向量重塑为矩阵,然后采用.colwise((.sum((。
特征教程中介绍的 reshape 命令未编译 (https://eigen.tuxfamily.org/dox-devel/group__TutorialReshape.html(
因此,我的问题既是关于特征版本编号(特征3.4已经发布吗?(也是关于reshape命令本身(我的编译错误说"Eigen::VectorXd没有名为'reshaped'的成员"(以及关于以下有效替代方案的建议:
VectorXd phi = X * beta;
ArrayXd sumPhi = phi.reshaped(4,12).colwise().sum();
Eigen 3.4 尚未发布(截至 2019 年 5 月(,我建议尝试开发分支。
由于phi
是一个实际的对象(而不是表达式(,您可以使用Map
来实现相同的目的:
ArrayXd sumPhi = MatrixXd::Map(phi.data(),4,12).colwise().sum();
这应该适用于任何版本的 Eigen(至少从 3.0 开始(,但安全性较低,因为它不能确保元素的数量实际匹配(如果phi
元素少于 4*12
,这可能会访问无效内存(。
相关文章:
- Eigen如何在容器循环中干净地附加矩阵
- 当在带有Eigen的C++中使用GDB时,我如何才能看到更多的大矩阵
- 使用Pybind11向Python公开Eigen::张量
- 如何在没有数据拷贝的情况下从指针创建一个Eigen VectorXd对象
- Eigen:调用lpNorm()的正确方法
- 如何调整 std::vector of Eigen::MatrixXd 的大小
- 如何将 Eigen::Ref 与 pybind11 一起使用?
- Eigen c++ 三角形来自
- 使用 operator() 扩展 Eigen::EigenBase
- 如何将 Eigen 库安装到 IAR c/c++ 编译器
- 初始化 std::数组 of Eigen::Map
- Eigen - matrix.transpose 会创建矩阵的副本吗?
- 将 MatrixXd 的行传递给要修改的函数,而不在 Eigen 中创建副本
- C++ Eigen 库中的 argmax() 方法
- Eigen::VectorXd 和 Boost::Odeint,不起作用
- 将数据从 std::Vector 存储到 Eigen::Vector 时出错
- Eigen LinSpaced - 已弃用的副本警告
- C++:如何将 std::vector 操作转换为 Eigen::VectorXf?
- Eigen:我应该使用对齐地图进行密集计算吗?
- Eigen 3.4 .reshaped()