mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-30 09:00:37 +08:00
Improvements to Schur template specializations
1. Refactor the python code that generates the template specializations to remove code duplication. 2. Improved the logic for template specialization selection where Eigen::Dynamic now serves as a wildcard. 3. Added schur_templates.h/cc which allows querying the set of available template specializations without instantiating a linear solver. 4. Added Solver::Summary::schur_structre_given and Solver::Summary::schur_structure_used and expose them in Solver::Summary::FullReport for better performance debugging. 5. Updated the templates with newer dates and some minor comments cleanup which lead to the the template specializations to be re-generated. Change-Id: Iaf3c6f714353597899916c300465da01f151c3de
This commit is contained in:
@@ -2154,6 +2154,23 @@ The three arrays will be:
|
||||
and asked for an automatic ordering, or if the problem contains
|
||||
some constant or inactive parameter blocks.
|
||||
|
||||
.. member:: std::string Solver::Summary::schur_structure_given
|
||||
|
||||
For Schur type linear solvers, this string describes, the template
|
||||
specialization which was detected in the problem and should be
|
||||
used.
|
||||
|
||||
.. member:: std::string Solver::Summary::schur_structure_used
|
||||
|
||||
For Schur type linear solvers, this string describes the template
|
||||
specialization that was actually instantiated and used. The reason
|
||||
this will be different from
|
||||
:member:`Solver::Summary::schur_structure_given` is because the
|
||||
corresponding template specialization does not exist.
|
||||
|
||||
Template specializations can be added to ceres by editing
|
||||
``internal/ceres/generate_template_specializations.py``
|
||||
|
||||
.. member:: bool Solver::Summary::inner_iterations_given
|
||||
|
||||
`True` if the user asked for inner iterations to be used as part of
|
||||
|
||||
Reference in New Issue
Block a user