Да, неявное преобразование предназначено для работы так, как вы это делаете.
Если вы хотите «просмотреть» Array
как Matrix
без его фактического копирования, вы можете использовать метод .matrix()
. Например.,
ArrayXXd A;
VectorXd v;
VectorXd r = A.matrix() * v; // matrix vector product
Существует метод, обратный этому методу .array()
.
Это более подробно описано в разделе «Преобразование между выражениями массива и матрицы» учебного пособия по Array
классу .