Как преобразовать разреженную матрицу в плотную матрицу в Eigen

есть ли простой и быстрый способ преобразовать разреженную матрицу в плотную матрицу двойников?

потому что мой SparseMatrix больше не разрежен, но стал плотным после некоторых матричных продуктов.

еще один вопрос: библиотека Eigen имеет отличную производительность, как это возможно? Я не понимаю, почему, потому что есть только заголовочные файлы не компилируются источник.

1 ответов


объявим две матрицы:

SparseMatrix<double> spMat;
MatrixXd dMat;

разреженный до плотного:

dMat = MatrixXd(spMat);

плотный разреженный:

spMat = dMat.sparseView();