Eigen- Eigen::Map<const Eigen::SparseVector<float>> 的编译错误

标签 eigen

我正在尝试使用 Eigen 的映射功能映射到内存中的稀疏向量,但我似乎无法编译对此的声明,因为 'InnerStrideAtCompileTime' 不是 'Eigen::SparseVector<_Scalar, 0,_StorageIndex>'。

这是否不受支持?

示例代码:

    #include <Eigen/Core>
    #include <Eigen/SparseCore>

    void Foo()
    {
       int innerIndices[10];
       float values[10];
       Eigen::Map<const Eigen::SparseVector<float>> eigenRigOffsets(100, 10, &innerIndices[0], &values[0]);

    }

最佳答案

它似乎(尚)不受支持。支持Eigen::Map<Eigen::SparseMatrix<float>> (如 documentation 所示),尽管这不是您所要求的。也许ggael会有更好的答案(或实现)。

关于Eigen- Eigen::Map<const Eigen::SparseVector<float>> 的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58611437/

相关文章:

c++ - 四元数是非常相似旋转的翻转符号吗?

c++ - Eigen 模板函数和维度

c++ - 在 Eigen 中使用 lpNorm

c++ - 使用 caffe 和 Eigen 编译 C++ 代码

c++ - 新手问题 - 使用 Eigen 的复矩阵代数

c++ - 张量不会在超出范围的索引上抛出异常

c++ - Eigen LinSpaced - 不推荐使用的拷贝警告

eigen - 使用特征值计算零空间是错误的?

c++ - 一般产品中的特征自动类型推导

c++ - 如何正确使用 cv::Mat 和 Eigen::Matrix? (OpenCV + Eigen )