Search code examples
c++matrixsparse-matrixeigen

Eigen convert dense matrix to sparse one


How to convert an Eigen::Matrix<double,Dynamic,Dynamic> to an Eigen::SparseMatrix<double> ? I'm looking for a better way instead of iterate through the dense matrix


Solution

  • you can use the sparseView() method for that:

    sparse = dense.sparseView();

    and even specify a tolerance:

    sparse = dense.sparseView(reference,epsilon);