Конвертировать Eigen :: ArrayXXd в Eigen :: MatrixXd - PullRequest
1 голос
/ 16 марта 2019

Как преобразовать массив ArrayXXd в MatrixXd? До сих пор я сделал

MatrixXd temp_mat = my_array;

и неявное преобразование работает нормально, но так ли это должно быть? Или есть какая-то явная операция преобразования, которую я должен делать?

1 Ответ

2 голосов
/ 16 марта 2019

Да, неявное преобразование предназначено для работы так, как вы это делаете.

Если вы хотите «просмотреть» Array как Matrix без его фактического копирования, вы можете использовать метод .matrix(). Например.,

ArrayXXd A;
VectorXd v;

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

Существует метод, обратный этому методу .array().

Это более подробно описано в разделе «Преобразование между выражениями массива и матрицы» учебного пособия по Array классу .

...