将Eigen :: ArrayXXd转换为Eigen :: MatrixXd

时间:2019-03-16 00:32:06

标签: c++ casting eigen

如何将ArrayXXd数组转换为MatrixXd? 到目前为止,我已经完成

MatrixXd temp_mat = my_array;

和隐式转换似乎可以正常工作,但这是应该采用的方式吗?还是我应该做一些明确的转换操作?

1 个答案:

答案 0 :(得分:2)

是的,隐式转换旨在像您所做的那样工作。

如果您想将Array作为Matrix“查看”而不实际复制它,则可以使用.matrix()方法。例如,

ArrayXXd A;
VectorXd v;

VectorXd r = A.matrix() * v; // matrix vector product

此方法有一个称为.array()的反义词。

这在the tutorial on the Array class的“在数组和矩阵表达式之间转换”部分中有更详细的描述。