【问题标题】:How to check if Eigen Matrix is column major or row major?如何检查特征矩阵是列主要还是行主要?
【发布时间】:2014-07-31 12:27:41
【问题描述】:

我需要使用可能是 RowMajor 或 ColumnMajor 的几个特征矩阵的底层数组。

有没有办法检查使用了哪些格式? (除了比较第一列,与行/列的前n个元素)

我在 Eigen 的基类中发现 isRowMajor 作为 Enum 的一部分,但我不知道如何从我的代码中访问它。

【问题讨论】:

    标签: c++ eigen


    【解决方案1】:

    以下对我有用(EigenMatrixType 是从 Eigen::MatrixBase 派生的任何东西)

    EigenMatrixType M(...);   
    std::cout << "IsRowMajor?: " << M.IsRowMajor << std::endl;
    

    (编辑:它似乎也适用于 SparseMatrix,即使我在 SparseMatrixBase 文档中找不到枚举)

    【讨论】:

    • 感谢您的解决,抱歉这个愚蠢的问题。
    • 注意:似乎没有M.IsColMajor(但显然!M.IsRowMajor有效)。
    猜你喜欢
    • 2014-02-20
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 2017-05-21
    • 1970-01-01
    相关资源
    最近更新 更多