[eigen] Another LDLt issue

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


I just finished reading a long recent thread on some issues with LDLt.

In some numerical experiments I was doing today, I've come across a
related issue. It appears that the current implementation of LDLt requires
that the matrix be positive definite. This is not strictly necessary for
the LDLt factorization to succeed. It is necessary only that the diagonal
term not be zero during factorization. A negative diagonal term is not,
by itself, a problem.

From reading the previous posts, it appears that a main reason for the
LDLt implementation compared with LLt was to avoid the performance
penalty of a square root. In fact, I think the main benefit of LDLt is that
it can factor both negative- and positive-definite symmetric matrices.
(As an aside, these routinely occur in dynamic analysis of mechanical
systems)

I suggest the test in the LDLt factorization routine be changed to
check that abs(diag_term) > eps.

Bill Greene

Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/