如何将ArrayXXd
数组转换为MatrixXd
?
到目前为止,我已经完成
MatrixXd temp_mat = my_array;
和隐式转换似乎可以正常工作,但这是应该采用的方式吗?还是我应该做一些明确的转换操作?
答案 0 :(得分:2)
是的,隐式转换旨在像您所做的那样工作。
如果您想将Array
作为Matrix
“查看”而不实际复制它,则可以使用.matrix()
方法。例如,
ArrayXXd A;
VectorXd v;
VectorXd r = A.matrix() * v; // matrix vector product
此方法有一个称为.array()
的反义词。
这在the tutorial on the Array
class的“在数组和矩阵表达式之间转换”部分中有更详细的描述。