eigen

    0热度

    1回答

    我有一个Measurement对象有两个Eigen::VectorXd成员 - 一个用于position和另一个velocity。 通过扫描将测量结果排列在数据集中 - 即在每个时间步将新的测量结果添加到数据集中。这些类型被定义为: typedef std::shared_ptr<Measurement> MeasurementPtr; typedef std::vector<Measurem

    1热度

    1回答

    我有(初始化的)张量input并且想要直接使用指针访问数据。我使用 float *input_ptr = input.flat<float>().data(); 当我试图访问数据,例如,通过使用: input_ptr[0] 它会导致分段错误,但我不明白为什么。 根据该C++ API: 平() 返回的张量数据作为本征::张量数据类型的与指定的形状。 这些方法允许您访问您选择的尺寸和大小的数据

    0热度

    1回答

    我需要使用Eigen来计算像“A'* A”这样的公式,其中A是m乘n矩阵。直观的方式来做到这一点, result = A.transpose()*A; 但由于结果是对称的,是有可能只计算结果的上下两截?

    2热度

    2回答

    我正在使用Eigen,我正在尝试编写一个函数来操作矩阵的行。我遵循guidelines in the docs但我没有尝试编译(使用clang或g ++);我在我的智慧结束。实际上应该如何编写将使用RowXpr的函数? 仅供参考,这里是我到目前为止已经试过: #include <iostream> #include <Eigen/Core> using namespace std; usi

    -2热度

    1回答

    我在ubuntu 16.04 LTS中使用了带有g ++ 5.4和CUDA 8.0的Eigen library version 3.3。 编写代码时发生了令人困惑的事情。 当我尝试在一个结构中调整Eigen :: MatrixXd时发生崩溃 结构如下。 struct cudaCopy{ struct s_path_info *nodes_parents struct s_p

    0热度

    1回答

    我有一个模板函数,它应该产生一个编译时已知固定大小的矢量,取决于模板参数: template <int nSize> Eigen::Matrix<double, nSize, 1> myFunc() { switch(nSize){ case 2: return ExternalLibrary::generate_Vector_2d(); case 3: retu

    1热度

    2回答

    因此,我使用Eigen for C++代码块来计算矩阵的特征值。与此交易的代码的特定部分如下: - EigenSolver<MatrixXd> b(B,false); cout<<" Eigen values are: \n "<<b.eigenvalues()<<"\n"; 我已经遇到的问题是是,我的矩阵B计算的特征值之一是无处接近实际的特征值,我发现上calculator.vhex.ne

    0热度

    1回答

    我正在尝试使用EIGEN库。特别是我正在使用SVD。 我需要执行此操作的奇异值的计算之后: svd.singularValues()/svd.singularValues().row(1) 它是由一个标量跌的载体。 我的问题是: 1)为什么这种操作给我: main.cpp:149:56: error: no match for ‘operator/’ (operand types are ‘c

    1热度

    2回答

    我需要计算Vector3f的log10。 我试过了: Eigen::Vector3f valsingn = svd.singularValues()/svd.singularValues()(0); valsingn = valsingn.log10(); 但它不起作用。 main.cpp:145:27: error: ‘Eigen::Vector3f {aka class Eigen::M

    1热度

    1回答

    在Eigen中,我们可以比较两个数组的明智之处。我们也可以使用broadcasting来为矩阵添加一个(适当大小的)向量。但是,这两者并不以明显的方式组合,以允许按行/列方式进行比较操作。例如 #include <iostream> #include <Eigen/Core> using namespace std; using namespace Eigen; using vect_