Sparse Cholesky factorization with damping term

Submitted by Christoph Hertzberg @chhtz

Assigned to Nobody

Link to original bugzilla bug (#382)
Version: 3.0

Description

Created attachment 232
Patch for the simplest solution

Some algorithms such as the Levenberg-Marquardt algorithm require solving a 'damped' linear system, i.e. instead of solving Ax=b, they solve (A+lambdaI)x=b.
It would be nice if SimplicialCholesky can do that on the fly (without explicetly forming A+lambda
I).
The simplest solution (patch attached) would just add a const Scalar& parameter to factorize (defaulting to 0), which will be added to the diagonal when it is loaded. However this will add an unneeded addition in the non-damped case.

Patch 232, "Patch for the simplest solution":
DampedCholeskyFactorize.patch

Edited by Eigen Bugzilla