eigen相关内容

本征3.3 SparseMatrix< bool>运作

我想使用 Eigen :: SparseMatrix 来执行操作,而不必自己循环矩阵。 这在Eigen 3.2中曾经是可能的,但是该代码不再在3.3版中进行编译。 例如,以下代码在3.2中可以正常工作: Eigen :: SparseMatrix a(3,3),b(3,3),c(3,3); a = b + c; 在Eigen 3.3中是 ..
发布时间:2020-10-27 23:55:51 其他开发

传递Eigen :: Map< ArrayXd>期待ArrayXd&的函数

我的某些Eigen C ++方法需要可以从普通C ++调用,因此我想提供接受c数组并使用Eigen :: Map将它们映射到ArrayXd的重载函数。 我当前拥有的代码如下: bool Dmp :: executeStep(double * position,double * velocity , double *加速,常量常量) { Map posMap( ..
发布时间:2020-10-27 23:55:49 C/C++开发

使用本征时的怪异行为

我正在给Eigen写一个包装供个人使用,遇到以下奇怪的行为: void get_QR(MatrixXd A,MatrixXd& Q,MatrixXd& R){ HouseholderQR qr(A); Q = qr.householderQ()*(MatrixXd :: Identity(A.rows(),A.cols())); R = qr.matrixQ ..
发布时间:2020-10-27 23:55:43 C/C++开发

如何将vtkDoubleArray转换为Eigen :: matrix

我找到了Eigen :: Map类,用于将原始数组转换为Eigen类(以及一些有用的摘要,请参见 https: //stackoverflow.com/a/12007784/1136458 ) 是否有任何本征或vtk类将vtk数组转换为本征类(并返回)? 我现在正在尝试的是: 将vtkDoubleArray转换为std :: vector的std :: vector(如如何获取vtk ..
发布时间:2020-10-27 23:55:40 C/C++开发

初始化的Array构造函数做什么?

在 Eigen 文档中,我看到了很多这样的东西: 数组(const Scalar& val0,const Scalar& val1) 数组(const Scalar& val0,const Scalar& val1,const Scalar& val2) Array(const Scalar& val0) ,const Scalar& val1,const Scalar& val2,con ..
发布时间:2020-10-27 23:55:38 C/C++开发

稀疏矩阵的填充非常慢,并且本征中没有存储增益

我正在尝试实现本征中给出的示例教程作为伪代码。据我了解,它说明了填充稀疏矩阵的推荐方法,只要知道每列的非零条目数即可。 伪代码位于标题“ 填充稀疏矩阵”,其内容如下: 1:SparseMatrix ;垫子(行,列); //默认是主列 2:mat.reserve(VectorXi :: Constant(cols,6)); 3:对于每个i,j使得v_ij!= 0 ..
发布时间:2020-10-27 23:55:31 C/C++开发

了解本征中的SolveInPlace操作

在Eigen3.3.7中使用LLT来加快应用程序中矩阵逆运算的速度时,我试图探索“ solveInPlace()”函数的选项。 我使用以下代码对其进行了测试。 int main() { const int M = 3; Eigen :: Matrix R = Eigen :: Matrix ..
发布时间:2020-10-27 23:55:28 其他开发

本征函数指针

我对Python很熟练,但是对C ++和指针之类的东西还很陌生。我试图用Eigen软件包为线性代数编写一些用于求解ODE的代码(我以后将需要处理许多矩阵,因此我打算从中开始)。我对RK4使用以下代码,它们可以正常工作: #include“ ../eigen-eigen-b3f3d4950030/Eigen/Dense “ 使用命名空间本征; VectorXd Func(const ..
发布时间:2020-10-27 23:55:15 C/C++开发

特征实例包含另一个持有固定大小特征对象的实例

我刚刚阅读了具有静态成员的结构本征页面。后者指出以下内容: 如果定义的结构具有固定大小的可矢量化特征类型成员,则必须重载其“ operator new ”,以便它生成16字节对齐的指针。幸运的是,Eigen为您提供了一个宏EIGEN_MAKE_ALIGNED_OPERATOR_NEW,可以为您完成此操作。 EIGEN_MAKE_ALIGNED_OPERATOR_NEW 宏用于包含其他类实例的 ..
发布时间:2020-10-27 23:54:10 C/C++开发

如何计算本征中外部行主矩阵的转置

具有一个外部的行主要矩阵A(mxn),并且已经为结果创建了一个外部的行主要矩阵B(nxm),以获得移调我要做的事情: Map (B,n,m)= Map (A,m,n).transpose() 其中A和B指向数据缓冲区。这在默认的大矩阵矩阵情况下很好用,但是对于行矩阵矩阵,结果仅对于m == n是 ..
发布时间:2020-10-27 23:54:08 其他开发

DenseBase,自动和二进制操作表示数组具有不同的形状

我编写了一个函数,该函数使用两个 DenseBase 作为参数。 该函数使用 .derived()。array()转换两个 Array 和 Matrix 到 Array 。 我厌倦了多次编写派生的并使用自动。 但是自动会导致奇怪的错误。 Eigen抱怨 x2 和 y2 的形状不相同。 如果我不想多次写 .derived()。array(),我该怎么用? 本征来自 ht ..
发布时间:2020-10-27 23:54:01 C/C++开发

本征密矩阵*密矢量乘法应该比GSL慢7倍吗?

此问题的答案我的让我期望(对于具有1/4不消失项的矩阵)在Eigen中,乘积 密集矩阵*密集向量 的性能应优于 稀疏矩阵*密集向量。 我不仅看到了相反的结果,而且两者的表现也分别比GSL高7倍和4倍。 我使用Eigen错误吗?我是否不小心计时?我非常惊讶。 我的编译选项为: ludi @ ludi -M17xR4:〜/ Desktop / tests $ g ++ - ..
发布时间:2020-10-27 23:53:55 C/C++开发

Matlab重新缩放命令的本征等效项

我想在Eigen中重新创建Matlab重新缩放命令 https://www.mathworks.com/help/matlab/ref/rescale.html 我尝试翻译,但不确定。我的Eigen知识仍然太有限了…… 自动调整比例= [&]( Eigen :: MatrixXd垫, Eigen :: VectorXd inmin, Eigen :: VectorXd in ..
发布时间:2020-10-27 23:53:50 C/C++开发

Eigen3根据列条件选择行

我在本征中有一个二维的矩阵,例如: 122443544456 0.9 324 435 5465 645 0.8 32434545546 0.778 435546 6565 656 0.6878 546 6565 656 3453 54 0.7788 5456 546 545 6565 3434 0.244 435 5456 656 656 6565 0.445 ..
发布时间:2020-10-27 23:53:48 C/C++开发

本征三元运算符中的类型错误

我正在用c ++编写一门课程,以概括两个稀疏矩阵求解器(SparseLU和Sparse Cholesky)。当我尝试使用三元运算符时,它表示操作数类型不兼容,但是如果使用If语句,则代码会编译。 错误2错误:操作数类型不兼容(“ const Eigen :: Solve ..
发布时间:2020-10-27 23:52:43 C/C++开发

3D位置的变换矩阵及相应的变换矩阵

我有一个3D点矩阵(位置),其中每一列代表在特定时间实例中以本地帧表示的3D点。 变换(行)向量包含每个时间点处移动局部帧的变换矩阵,即第i个变换矩阵对应与 positions 的第i列。 我想计算全局框架中的位置(已转换),方法是将转换矩阵应用于相应点。 $ b for循环如下: Eigen :: Matrix ..
发布时间:2020-10-27 23:52:40 其他开发

如何为CSR格式设置SparseMatrix.valuePtr(),SparseMatrix.outerIndexPtr()和SparseMatrix.innerIndexPtr()?

我已经具有 CSR格式的稀疏矩阵数据,即:我已经有数据对于非零值(以 double [] 的形式),行和列的索引(均以 int [] )的非零值。 我的问题是,如何将它们直接分配给特征库中的稀疏矩阵?我知道稀疏矩阵中的相关字段是 valuePtr , outerIndexPtr 和 innerIndexPtr ,但是我不能直接按照以下方式设置指针: //相关的SpMat字段(valu ..
发布时间:2020-10-27 23:51:35 C/C++开发