Wannes,
Mathematically this is not a bug.
But given that we handle structural rank deficiency in the estimator, it should be considered a bug.
The problem is at
https://ceres-solver.googlesource.com/ceres-solver/+/master/internal/ceres/covariance_impl.cc#270
where we look for structurally sparse columns of the jacobian by looking for constant parameter blocks. This test should be extended to include parameter blocks that do not have any residual blocks associated with them.
This code is a bit old and is now starting to overlap with the refactored code for preprocessing a Program object before optimization is performed on it.
The right way to do this should likely use
https://ceres-solver.googlesource.com/ceres-solver/+/master/internal/ceres/program.h#146
Program::CreateReducedProgram
Sameer
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/e99d0c31-04db-4778-8bda-b1e730d17a4d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/fb8fca40-6bd8-4833-bdef-2d889b7f6f77%40googlegroups.com.
This one is harder because there is no way of knowing if you are using a parameter or not. That requires understanding cost function code.
A simpler fix is, if you as a user know this. Mark the parameter as constant using a subset parameterization. But that may not always be possible.
Sameer
--
You received this message because you are subscribed to the Google Groups "Ceres Solver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceres-solver...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceres-solver/1544a010-1315-4fb2-9a7b-57bb621d6178%40googlegroups.com.