[Bug 741] New: cholesky_semidefinite of semidefinite matrix fails ...

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=741

Summary: cholesky_semidefinite of semidefinite matrix fails ...
Product: BFL
Version: trunk
Platform: All
OS/Version: All
Status: ASSIGNED
Severity: normal
Priority: P3
Component: wrappers
AssignedTo: tinne [dot] delaet [..] ...
ReportedBy: tinne [dot] delaet [..] ...
CC: bfl [..] ...
Estimated Hours: 0.0

The cholesky factorization of a semidefinite matrix fails in some cases:

example: A = [a 0 b 0 ; 0 a 0 b ; b 0 c 0; 0 b 0 c]
with a=2.5e-7, b=5e-5, c = 1e-2
(typical for cte velocity model with 2 DOF).

A small negative a is found during the factorization (for meaning of a see
code).

[Bug 741] cholesky_semidefinite of semidefinite matrix fails ...

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=741

Tinne De Laet <tinne [dot] delaet [..] ...> changed:

What |Removed |Added
----------------------------------------------------------------------------
Resolution| |FIXED
Status|ASSIGNED |RESOLVED

--- Comment #2 from Tinne De Laet <tinne [dot] delaet [..] ...> 2009-12-07 14:04:29 ---

Applied to trunk in revision 31624
svn commit
Sending wrappers/matrix/matrix_wrapper.cpp
Transmitting file data .
Committed revision 31264.

Appied to 0.7-branch in revision 31263.
cd ..
Sending src/wrappers/matrix/matrix_wrapper.cpp
Transmitting file data .
Committed revision 31263.

Applied to dataAssociationBranch in revision 31262
svn commit
Sending src/wrappers/matrix/matrix_wrapper.cpp
Transmitting file data .
Committed revision 31262.

[Bug 741] cholesky_semidefinite of semidefinite matrix fails ...

https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=741

--- Comment #1 from Tinne De Laet <tinne [dot] delaet [..] ...> 2009-12-07 13:44:37 ---
Created an attachment (id=576)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=576)
fix for cholesky factorization of semidefinite matrices

This fixes bug 741 by checking if a (for meaning see code) is close to zero
(inside epsilon region); if so put it explicitly to zero.