如何检查Eigen Matrix是列专业还是行专业?

时间:2014-07-31 12:27:42

标签: c++ eigen

我需要使用几个特征矩阵的基础数组,这些数组可能是RowMajor或ColumnMajor。

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

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

1 个答案:

答案 0 :(得分:9)

以下适用于我(EigenMatrixType是从Eigen :: MatrixBase派生的任何内容)

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

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