|Re: [eigen] Another LDLt issue|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Another LDLt issue
- From: Bill Greene <w.h.greene@xxxxxxxxx>
- Date: Mon, 30 Mar 2009 14:01:29 -0400
- 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; bh=dBzAVqulZH36lGsoNPxvtE5hodEjxl/69NUcwN++DNU=; b=GLi3+VWTEM1Xfrfq0yyfHEIC7+1fLWsaFNgZA49M3qsLmzspXT3BgZfAUkhDa5D+6d xusnO/rAOSIkBiaUB7RYQEaIkjFn6lkXzoOzXQj1G8LQdq2pilDMSfx/HU7Oogl7Jol9 XTYGHUtSpcdLLiXe8dxREL0KohwlVyu/sav/I=
- 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; b=evpu2uYzKQk2hzZnbwI4T/X7Mnrm7aX9uvVOOpabaXi8kDCsJcjsnzgAzbu0d3F+z5 isbX9TKQSvsoF1F1lf8AMf5JVjztN2WYdSjK/AEU3Nn0mVnRDniLXDYo9BrLLAIjFGBW Dx150TPYcEakP7+q427StG0C4zBSQ5jisVKJI=
>I see. So we can always provide general selfadjoint LDLt "at the
>user's own risk". The generic case is that it will "work" since
>division by exactly 0 would be incredibly bad luck, but it will be
>unstable because one will be dividing by small numbers.
I wasn't proposing continuing the factorization if a diagonal term
is (or becomes) very small. I just propose that the test be
if(abs(diag) < eps) return. This should insure that the algorithm
doesn't compute a bad result, shouldn't it? My own experience
is that this will succeed often enough to make it useful.
>But the problem is that pivoting won't help here if all the remaining
>diagonal coefficients are zero. Indeed, a meaningful pivoting LDLt is
>of the form:
Are you talking about a case where an LDLt factorization exists but the matrix is singular?
To be honest, before starting this current thread, I didn't even realize such a case could
exist. What do people use this factorization for-- calculating matrix rank? I think most
people are interested in the non-singular case but, of course, would like to know if the
factorization algorithm fails.
This discussion has brought up some interesting issues. I decided to take a closer look at how
Lapack approaches this issue (probably should have done that before my first post ;-)). Anyway,
routine dsytrf does an LDLt factorization for a symmetric but not necessarily positive definite
matrix. They *have* chosen to include diagonal pivoting in the implementation; obviously a lot