commit | 4bf3868beca9c17615f72ec03730cddb3676acaa | [log] [tgz] |
---|---|---|
author | Sameer Agarwal <sameeragarwal@google.com> | Sun Aug 09 15:24:45 2015 -0700 |
committer | Sameer Agarwal <sameeragarwal@google.com> | Thu Aug 20 23:34:26 2015 -0700 |
tree | a784decda9f5195ac60a8d21017c0efc8073adc1 | |
parent | 1635ce726078f00264b89d7fb6e76fd1c2796e59 [diff] |
Fix a bug in the Schur eliminator The schur eliminator treats rows with e blocks and row with no e blocks separately. The template specialization logic only applies to the rows with e blocks. So, in cases where the rows with e-blocks have a fixed size f-block but the rows without e-blocks have f-blocks of varying sizes, DetectStructure will return a static f-block size, but we need to be careful that we do not blindly use that static f-block size everywhere. This patch fixes a bug where such care was not being taken, where it was assumed that the static f-block size could be assumed for all f-block sizes. A new test is added, which triggers an exception in debug mode. In release mode this error does not present itself, due to a peculiarity of the way Eigen works. Thanks to Werner Trobin for reporting this bug. Change-Id: I8ae7aabf8eed8c3f9cf74b6c74d632ba44f82581
Please see ceres-solver.org for more information.
Ceres development happens on Gerrit, including both repository hosting and code reviews. The GitHub Repository is a continuously updated mirror which is primarily meant for issue tracking. Please see our Contributing to Ceres Guide for more details.
The upstream Gerrit repository is
https://ceres-solver.googlesource.com/ceres-solver