【发布时间】:2014-07-31 12:27:41
【问题描述】:
我需要使用可能是 RowMajor 或 ColumnMajor 的几个特征矩阵的底层数组。
有没有办法检查使用了哪些格式? (除了比较第一列,与行/列的前n个元素)
我在 Eigen 的基类中发现 isRowMajor 作为 Enum 的一部分,但我不知道如何从我的代码中访问它。
【问题讨论】:
我需要使用可能是 RowMajor 或 ColumnMajor 的几个特征矩阵的底层数组。
有没有办法检查使用了哪些格式? (除了比较第一列,与行/列的前n个元素)
我在 Eigen 的基类中发现 isRowMajor 作为 Enum 的一部分,但我不知道如何从我的代码中访问它。
【问题讨论】:
以下对我有用(EigenMatrixType 是从 Eigen::MatrixBase 派生的任何东西)
EigenMatrixType M(...);
std::cout << "IsRowMajor?: " << M.IsRowMajor << std::endl;
(编辑:它似乎也适用于 SparseMatrix,即使我在 SparseMatrixBase 文档中找不到枚举)
【讨论】:
M.IsColMajor(但显然!M.IsRowMajor有效)。