如何检查特征矩阵是列主要还是行主要

How to check if Eigen Matrix is column major or row major?

本文关键字:何检查 检查 特征      更新时间:2023-10-16

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

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

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

以下作品为我(EigenMatrixType是从Eigen::MatrixBase派生的任何东西)

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

(编辑:它似乎也与SparseMatrix工作,即使我在SparseMatrixBase文档中找不到enum)