|Re: [eigen] Another LDLt issue|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Another LDLt issue
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Mon, 30 Mar 2009 14:30:30 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=6f9Y+5cD6rJweRb4ZiYF8MB3YAv4Xz5MyXQGMRSaRWA=; b=U9zAxt7PAwrltZlL2CJO2Dm96GOr6QQKLvvICv4SZikv+PjgH+ygqtMvpcpGW6Gf7C 0Add97uxdKitFzKPr/xcHDVVLiQSsrtjEoEM8MD9O++tE2QZ7CCIqXNbDEqdlMgtUna3 mzhOkVT81aTNCEOu7I/25q5MZiwcR4zA8pj4A=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=VRzjvH7uD2ThlmhIdSiufY6YEpnC6IVVW+xtpbCZmPMS69fmTxI2LY23ESLlQ/G0v6 g7ayBlCAsup20DpvK4z+aeURmhFK7JVHkzrpD6ANR/kc3dfEvkmT8KZkG2ytUlR6StPN UuPgIKU945Wcafzeucz5VMt9p3f9kdGUfUUrU=
This is interesting. Indeed it seems that this works for all
self-adjoint matrices. I'll try to have a look at it.
> 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
> I suggest the test in the LDLt factorization routine be changed to
> check that abs(diag_term) > eps.
> Bill Greene