mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-29 16:40:38 +08:00
Documentation update.
1. Complete restructuring of the documentation to account for GradientProblemSolver. 2. Update the version history to account for changes since 1.9.0. 3. Add links and document the various examples that ship with ceres. 4. Documentation for GradientProblem GradientProblemSolver. Change-Id: If3a18f2850cbc98be1bc34435e9ea468785b8b27
This commit is contained in:
+14
-4
@@ -64,7 +64,7 @@ Modeling
|
||||
|
||||
To this end, Ceres has extensive support for mixing analytic,
|
||||
automatic and numeric differentiation. See
|
||||
:class:`NumericDiffFunctor` and :class:`CostFunctionToFunctor`.
|
||||
:class:`CostFunctionToFunctor`.
|
||||
|
||||
#. Putting `Inverse Function Theorem
|
||||
<http://en.wikipedia.org/wiki/Inverse_function_theorem>`_ to use.
|
||||
@@ -142,8 +142,12 @@ Solving
|
||||
|
||||
4. For larger bundle adjustment problems with sparse Schur
|
||||
Complement/Reduced camera matrices use ``SPARSE_SCHUR``. This
|
||||
requires that you have ``SuiteSparse`` or ``CXSparse``
|
||||
installed.
|
||||
requires that you build Ceres with support for ``SuiteSparse``,
|
||||
``CXSparse`` or Eigen's sparse linear algebra libraries.
|
||||
|
||||
If you do not have access to these libraries for whatever
|
||||
reason, ``ITERATIVE_SCHUR`` with ``SCHUR_JACOBI`` is an
|
||||
excellent alternative.
|
||||
|
||||
5. For large bundle adjustment problems (a few thousand cameras or
|
||||
more) use the ``ITERATIVE_SCHUR`` solver. There are a number of
|
||||
@@ -153,13 +157,19 @@ Solving
|
||||
which ``DENSE_SCHUR`` is too slow but ``SuiteSparse`` is not
|
||||
available.
|
||||
|
||||
.. NOTE::
|
||||
|
||||
If you are solving small to medium sized problems, consider
|
||||
setting ``Solver::Options::use_explicit_schur_complement`` to
|
||||
``true``, it can result in a substantial performance boost.
|
||||
|
||||
If you are not satisfied with ``SCHUR_JACOBI``'s performance try
|
||||
``CLUSTER_JACOBI`` and ``CLUSTER_TRIDIAGONAL`` in that
|
||||
order. They require that you have ``SuiteSparse``
|
||||
installed. Both of these preconditioners use a clustering
|
||||
algorithm. Use ``SINGLE_LINKAGE`` before ``CANONICAL_VIEWS``.
|
||||
|
||||
#. Use `Solver::Summary::FullReport` to diagnose performance problems.
|
||||
#. Use :function:`Solver::Summary::FullReport` to diagnose performance problems.
|
||||
|
||||
When diagnosing Ceres performance issues - runtime and convergence,
|
||||
the first place to start is by looking at the output of
|
||||
|
||||
Reference in New Issue
Block a user