Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

choice of linear solver in ceres #89

Open
amberwood31 opened this issue Nov 9, 2020 · 0 comments
Open

choice of linear solver in ceres #89

amberwood31 opened this issue Nov 9, 2020 · 0 comments

Comments

@amberwood31
Copy link

Hi,

Thanks for sharing the code!
I'm curious about the choice of solvers in ceres, which is "SPARSE_SCHUR" for linear solver with the trust region strategy being DOGLEG.
As shown in the functionMarginalizationError::updateErrorComputation(), the reduced camera matrix is enforced to be positive semidefinite by setting small eigenvalues to zero, which means the Jacobian and Hessian could be rank-deficient.
To the best of my understanding, cholmod ("SPARSE_SCHUR is supposed to be based on cholmod from ceres documentation) is used for full-rank matrix.

So, what strategy is being used here to handle the rank-deficiency? Is it handled inside the DOGLEG method?

This might seems more like a ceres related question, but I'm interested in what specific properties in the okvis formulation might have contributed to the choice of solvers.

Any insight is highly appreciated!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant