colamd always fail when matrix is uncompressed
Submitted by Pavel
Assigned to Nobody
Link to original bugzilla bug (#649)
Version: 3.2
Description
In COLAMDOrdering, line #140, colamd always returns "false" (failed) in case if matrix is in uncompressed format:
info = internal::colamd(m, n, Alen, A.data(), p.data(), knobs, stats);
Reason:
Line #423 of colamd is always true ( need > Alen ).
"need" is computed based on number of non-zeros taken from outerIndexPtr()[cols()]
"Alen" is computed based on number of non-zeros returned by nonZeros().
As a result, for uncompressed matrices "need" is always greater than "Alen" - which disables ordering method. Can be seen only in "Debug" build, when assert is triggered.
Edited by Eigen Bugzilla