如何计算外部,行主矩阵在特征中的转置

时间:2016-10-22 06:13:33

标签: eigen

有一个外部的行主矩阵A(m x n),并且已经为结果创建了外部的行主矩阵B(n x m),以便进行转置:

Map<MatrixXd,RowMajor> (B,n,m) = Map<MatrixXd,RowMajor> (A,m,n).transpose()

其中A和B指向数据缓冲区。这在col-major矩阵的默认情况下工作正常,但对于行主矩阵,结果仅对于m == n是正确的,对于m&lt;&gt;这些数字是不正确的。我是否误解了如何映射行主外部数据?

1 个答案:

答案 0 :(得分:2)

Map的第二个模板参数用于对齐控制。必须通过矩阵类型指定行主要布局:

typedef Matrix<double,Dynamic,Dynamic,RowMajor> RowMajorMatrixXd;
Map<RowMajorMatrixXd>(B,n,m) = Map<RowMajorMatrixXd>(A,m,n).transpose()