Commit Graph

5 Commits (1e3ae3b3d36e0248caa7ad80b8bc71d10e130c92)

Author SHA1 Message Date
thduynguyen 1e3ae3b3d3 Support non positive definite Hessian factors while doing EliminatePreferCholesky with some constrained factors.
Currently, when eliminating a constrained variable, EliminatePreferCholesky converts every other factors to JacobianFactor before doing the special QR factorization for constrained variables. Unfortunately, after a constrained nonlinear graph is linearized, new hessian factors from constraints, multiplied with the dual variable  (-lambda*\hessian{c} terms in the Lagrangian objective function), might become negative definite, thus cannot be converted to JacobianFactors.

Following EliminateCholesky, this version of EliminatePreferCholesky for constrained var gathers all unconstrained factors into a big joint HessianFactor before converting it into a JacobianFactor to be eliminiated by QR together with the other constrained factors.

Of course, this might not solve the non-positive-definite problem entirely, because (1) the original hessian factors might be non-positive definite and (2) large strange value of lambdas might cause the joint factor non-positive definite [is this true?]. But at least, this will help in typical cases.
2014-05-03 18:04:37 -04:00
dellaert 5aa7d55691 Ignore Mac system files 2014-01-25 11:03:37 -05:00
Richard Roberts bfd334dd0e Added .pyc files to ignore 2014-01-06 21:19:53 -05:00
Alex Cunningham 56ff0b514c Changed ignore to include all build folders starting with /build* 2014-01-04 15:33:59 -05:00
Frank Dellaert d912868ca6 Added .gitignore with build directory in there 2013-12-22 14:04:16 -05:00