c++ - 如何在 Eigen 中定义行优先稀疏 vector

标签 c++ eigen

这应该是一个简单的问题,但文档没有帮助:我想在 Eigen 中定义一个稀疏 vector ,以便它以行优先格式存储。

这会产生一个列优先 vector :

Eigen::SparseVector<float> vec;

我试过用

typedef Eigen::Matrix<float, 1, Eigen::Dynamic> RowVector;
RowVector vec(size);

但稍后会遇到运行时问题。是否有一种简单的方法来定义动态大小的行优先稀疏 vector ?

最佳答案

SparseVector 的第二个模板参数是存储顺序(或者实际上是选项)。所以你会写 Eigen::SparseVector<float, Eigen::RowMajor> rowVec; .请参阅文档 here .

关于c++ - 如何在 Eigen 中定义行优先稀疏 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51833046/

相关文章:

c++ - 通过覆盖 'new' 运算符,您获得了哪些有用的功能?

c++ - Bloomberg Api 连接问题 - <localhost :8194> Connection failed

c++ - 生成有关错误静态函数使用的编译器警告

c++ - 最近的邻居用nanoflann搜索

c++ - 从 lambda 返回 Eigen::Map

c++ - 在类中复制和存储 LPTSTR 会导致崩溃

c++ - 如何安全地将变量的值传递给 C++ 方法,该方法只会将 void* 作为参数?

c++ - cygwin_exception::open_stackdumpfile:将堆栈跟踪转储到 *.exe.stackdump

c++ - 匹配 Eigen 和 Ceres-Solver 版本的最简单方法是什么?

c++ - 如何在Visual Studio 2015中添加库、头文件