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

How to access hessian matrix to study observability? #846

Open
SubodhMishraIdeaForgeTech opened this issue Nov 24, 2024 · 4 comments
Open

Comments

@SubodhMishraIdeaForgeTech

Hello,
I am trying to use g2o's apis to access the hessian matrix to study the observability of the system I am trying to minimize. My goal is to access the Hessian matrix and then look at their singular values. If they are under a threshold then it may be an ill conditioned problem. Is there a straight forward way to extract the Hessian matrix? I appreciate you time!

@SubodhMishraIdeaForgeTech
Copy link
Author

I discovered that the saveHessian function may be used to dump it into a txt file but is it possible to extract it directly as a matrix or something?

@RainerKuemmerle
Copy link
Owner

One way could be to subclass from the

template <typename Traits>
class BlockSolver

to provide read access to the block matrix structures. The members are protected and should be accessible in the sub-class.

@SubodhMishraIdeaForgeTech
Copy link
Author

Thanks! I will try this out.

@SubodhMishraIdeaForgeTech
Copy link
Author

SubodhMishraIdeaForgeTech commented Dec 3, 2024

@RainerKuemmerle , thanks for your previous response. I was analyzing the the Hessian Matrix and I noticed that the condition numbers I get are very high, in the order of millions. Is it a stable solution or does it mean that my problem is ill posed? Does g2o provide any insights about the quality of the estimate?

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

2 participants