eigen 相关问题

Eigen是线性代数的C ++模板库:矩阵,向量和相关算法。

如何正确地将nalgebra::Matrix转换为Eigen::MatrixXf?

我有一个用C++写的DLL,我需要从Rust程序中调用一个叫做print_matrix(Eigen::MatrixXf *m)的函数。我创建了一个4x3的矩阵,而这个函数需要一个指针作为它的 ...

回答 1 投票 1

Eigen,不同类型的逗号初始化器使用错误。

这就是我想做的事情。Eigen::MatrixXd extended_points(4,4); extended_points << Eigen::Vector3d(-0.8, -0.8, 1.0).归一化(), 1.0, Eigen::Vector3d( 0.8, -0.8, 1.0).归一化()...。

回答 1 投票 1

GLM中SparseMatrix的等效特征是什么?

Eigen有Eigen::SparseMatrix,GLM中的等价特征是什么?我看了它的文档,也上网查了,找不到。但很难相信glm没有稀疏矩阵。

回答 1 投票 0

使用Eigen Vector3d容器创建PCL点云。

我想生成一个PCL点云。我所有的点都在以下容器类型中: std::vector > 我想 ...

回答 2 投票 6

Eigen: 如果innerIndexPtr向量排序不好,selfadjointView就不工作。

在一个实时系统中,我使用低级API来操作Eigen稀疏矩阵,以提高特定问题集的性能。特别是,我将Eigen与CSparse的一个变体混合使用。

回答 1 投票 0

具有RowMajor和ColMajor数据排列的矩阵行求和的奇怪性能差异

我决定检查矩阵中的数据排列如何影响简单操作的性能。我使用Eigen :: Matrix作为数据存储编写了简单的行求和算法。我虽然那个RowMajor ...

回答 1 投票 0

从零开始实现的C ++神经网络不能在MNIST上达到50%以上

因此,我已经使用Eigen在C ++中实现了一个完全连接的隐藏层神经网络,用于矩阵乘法。它使用小批量梯度下降。但是,我的模型不能超过50%...

回答 1 投票 0

从特征数组/矩阵的一行中填充std :: vector

我有一个Eigen Array2Xd,我想将其每一行放入std :: vector 。 spline_knots是大小为(2,4)的Array2Xd,具有以下值:Array2Xd spline_knots(2,4); ...

回答 1 投票 0

将MatrixXd的行传递给要修改的函数,而无需在本征中创建副本

此问题与C ++和本征有关。我有一个函数,可以将某些向量计算为Eigen :: VectorXd并将其存储到作为参数传递的向量中。函数的返回值...

回答 1 投票 0

CLion无法在macOS上找到Eigen3

我知道过去也有类似的问题。但是,到目前为止,没有一种解决方案对我有用。只是一些细节:我在macOS 13.13.6上使用CLion 2020.1和Eigen 3.3.7。只是一个...

回答 1 投票 0

Eigen C ++中的矩阵矩阵

我正在用C ++创建电路分析库(也是为了学习C ++,所以我对此很陌生)。熟悉Eigen之后,我想要一个矩阵,其中每个单元托管一个3x3复杂矩阵。所以...

回答 3 投票 1

从Eigen Array2Xd的一行填充std :: vector 我有一个特征Array2Xd,我想将其每一行放入std::vector<double>。 spline_knots是大小为(2,4)的Array2Xd,具有以下值: Array2Xd spline_knots(2, 4); spline_knots << -1, 0, 30.57, 60.83, 0, 0, 9.73, 15.44; 我基于this answer尝试了以下操作: vector<double> knot_xs(spline_knots.row(0).data(), spline_knots.row(0).data() + spline_knots.row(0).size()); vector<double> knot_ys(spline_knots.row(1).data(), spline_knots.row(1).data() + spline_knots.row(1).size()); 但是尝试使用上述代码将每一行复制到向量中,我得到以下结果,这很奇怪(第一行以正确的元素开头,然后为零;第二行只有零,以第一个元素的第三个元素结尾行): kont_xs: -1 0 0 0 knot_ys: 0 0 0 30.57 这里有什么问题,如何从2D数组的一行中创建矢量 无循环 ? 我有一个Eigen Array2Xd,我想将其每一行放入std :: vector 。 spline_knots是大小为(2,4)的Array2Xd,具有以下值:Array2Xd spline_knots(2,4); ... ] >> 想通了。问题与storage order有关,这是本征如何在内存中布置二维数组的方式。有两种可能的布局:RowMajor和ColumnMajor。默认布局为ColumnMajor,它按列存储2D数组元素。 知道这一点,我得到的奇怪结果是有道理的。 .row(0).data()将指针返回到第一行的第一元素。 .row(0).size()为4,.row(0).data() + 4沿列取前四个元素:[-1, 0, 0, 0]。第二个列的相同参数从(1,0)元素开始,按列数计算4个元素将导致[0, 0, 0, 30.57]。 有两种解决方案: 使数组/矩阵布局 行主要:Array<double, 2, Dynamic, RowMajor> arr(2, 6); arr << 1, 2, 3, 4 5, 6, 7, 8; vector<double> row1_vec(arr.row(0).data(), arr.row(0).data() + arr.cols()); // row1_vec: 1, 2, 3, 4 或使用Eigen的Map class: Array2Xd arr(2, 4); arr << 1, 2, 3, 4, 5, 6, 7, 8; vector<double> row1_vec(arr.cols()); Map<RowVectorXd>(&row1_vec[0], 1, arr.cols()) = arr.row(0); // row1_vec: 1, 2, 3, 4

。 spline_knots是大小为(2,4)的Array2Xd,具有以下值:Array2Xd spline_knots(2,4); ...

回答 1 投票 0

动态尺寸矩阵垂直/水平Linspaced?

我目前正在一个需要能够创建矩阵的项目中,例如:MatrixXi lin_spaced_horizo ntaly = 0 1 2 3 4 ... ncols 0 1 2 3 4 ... ncols 0 1 2 3 4 .. 。ncols MatrixXi ...

回答 1 投票 1

特征值/特征值:带有mingw-w64的部分过多

我想基于Eigen的一般特征值求解器(Eigen 3.3.3)编译以下示例:#include #include int main(){Eigen :: Matrix4f A; ...

回答 1 投票 6

C ++ ::如何捕获由void函数创建的矩阵

我通常使用python进行编码,但是由于组合爆炸,我决定使用C ++解决问题。我的想法是将numpy数组保存在npy文件中,然后将C ++函数提供给该npy文件。由于我...

回答 1 投票 0

Eigen :: VectorXd和Boost :: Odeint,不起作用

我正在测试Eigen :: VectorXd作为boost :: odeint的state_type。我使用以下代码:#include #include #include

回答 1 投票 0

我如何使用Eigen提高我的表现? (包括示例代码)

我的矩阵数学在以下函数中是否效率过低?我在Visual Studio中启用了优化功能,并以64位发布模式进行构建。我正在喂相当大的食物...

回答 1 投票 0

特征:将向量除以标量可以分为两步,但不能一步一步

因此,我试图实现Power迭代,以在C ++中找到最大的特征值和相应的特征向量。我正在使用本征库。奇怪的是,当我将矢量除以...

回答 1 投票 1

全透视图QR在C ++中比非透视图QR更快? (使用Eigen库)

[通过比较C ++中不同的Eigen的QR实现,我得到了怪异的性能结果[我正在RcppEigen包中从R内访问C ++环境-但是字符串src只是C ++ ...

回答 1 投票 0

具有特征的矩阵的随机置换行/列

我正在使用Eigen,并且有一个矩阵:MatrixXi x = MatrixXi :: Random(5);我想使用随机绘制的排列来随机排列行和列(两个行都只是一个排列...

回答 2 投票 6

© www.soinside.com 2019 - 2024. All rights reserved.