Created attachment 386 [details]
Fixed CholmodSupport.h file
When using Cholmod* classes (CholmodSupport/CholmodSupport.h), I sometimes got incorrect results (depending on solver object initialisation). After checking with valgrind, I've noticed that the solver uses uninitialised values, which should default to zero. If I was lucky enough, they were zero indeed, leading to correct results.
The above-mentioned uninitialised values are:
RealScalar m_shiftOffset field in CholmodBase class, which is only initialised in the second constructor, but not in the default one - CholmodBase()
res.z and res.nz fields in the first viewAsCholmod() function:
template<typename _Scalar, int _Options, typename _Index>
cholmod_sparse viewAsCholmod(SparseMatrix<_Scalar,_Options,_Index>& mat)
I attach the fixed CholmodSupport.h file (based on 3.2.0 stable release).
Thank you for creating such a great tool!
Thanks for the report. Fixed in default and 3.2:
-- GitLab Migration Automatic Message --
This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/681.