Creating an Eigen matrix from an array with row-major order

前端 未结 1 742
梦谈多话
梦谈多话 2021-02-15 14:08

I have an array of doubles, and I want to create a 4-by-4 matrix using the Eigen library. I also want to specify that the data is stored in row-major order. How can I do this?

相关标签:
1条回答
  • 2021-02-15 14:46

    You need to pass a row-major matrix type to Map, e.g.:

    Map<Matrix<double,4,4,RowMajor> > M(data);
    

    then you can use M as an Eigen matrix, and the values of data will be modified, e.g.:

    M = M.inverse();
    

    If you want to copy the data to a true column-major Eigen matrix, then do:

    Matrix4d M = Map<Matrix<double,4,4,RowMajor> >(data);
    

    Of course, you can also copy to a row-major matrix by using the right type for M.

    0 讨论(0)
提交回复
热议问题