symforce-org / symforce

Fast symbolic computation, code generation, and nonlinear optimization for robotics
https://symforce.org
Apache License 2.0
1.41k stars 145 forks source link

Paper gauss-newton #206

Closed gftabor closed 2 years ago

gftabor commented 2 years ago

Unclear if this is really correct place to say this, but the Gauss-Newton update step is missing the inverse of the hessian in the paper. image https://en.wikipedia.org/wiki/Gauss%E2%80%93Newton_algorithm

Not a direct comparison but in the Levenberg marquardt you use the cholesky inverse here https://github.com/symforce-org/symforce/blob/a1da5b07e287a3130c1fac4e5f1bb14a787ad1b2/symforce/opt/levenberg_marquardt_solver.tcc#L194

tldr; Code is right, Paper is wrong?

aaron-skydio commented 2 years ago

Thanks for reporting! Yeah we definitely compute the inverse (factorize + solve :slightly_smiling_face: ) in the code, just a typo in the paper