Documentation updates.
1. Further tightening of the Covariance documentation.
2. Documented minimizer progress output.
3. Lint cleanup from William Rucklidge.
4. Updated version history.
Change-Id: I8bc28484675d4edf89a7c050b6379dbac6c39e91
diff --git a/docs/source/solving.rst b/docs/source/solving.rst
index 9b26166..e26f87b 100644
--- a/docs/source/solving.rst
+++ b/docs/source/solving.rst
@@ -1126,6 +1126,52 @@
:member:`Solver::Options::logging_type` is not ``SILENT``, the logging
output is sent to ``STDOUT``.
+ For ``TRUST_REGION_MINIMIZER`` the progress display looks like
+
+ .. code-block:: bash
+
+ 0: f: 1.250000e+01 d: 0.00e+00 g: 5.00e+00 h: 0.00e+00 rho: 0.00e+00 mu: 1.00e+04 li: 0 it: 6.91e-06 tt: 1.91e-03
+ 1: f: 1.249750e-07 d: 1.25e+01 g: 5.00e-04 h: 5.00e+00 rho: 1.00e+00 mu: 3.00e+04 li: 1 it: 2.81e-05 tt: 1.99e-03
+ 2: f: 1.388518e-16 d: 1.25e-07 g: 1.67e-08 h: 5.00e-04 rho: 1.00e+00 mu: 9.00e+04 li: 1 it: 1.00e-05 tt: 2.01e-03
+
+ Here
+
+ #. ``f`` is the value of the objective function.
+ #. ``d`` is the change in the value of the objective function if
+ the step computed in this iteration is accepted.
+ #. ``g`` is the max norm of the gradient.
+ #. ``h`` is the change in the parameter vector.
+ #. ``rho`` is the ratio of the actual change in the objective
+ function value to the change in the the value of the trust
+ region model.
+ #. ``mu`` is the size of the trust region radius.
+ #. ``li`` is the number of linear solver iterations used to compute
+ the trust region step. For direct/factorization based solvers it
+ is always 1, for iterative solvers like ``ITERATIVE_SCHUR`` it
+ is the number of iterations of the Conjugate Gradients
+ algorithm.
+ #. ``it`` is the time take by the current iteration.
+ #. ``tt`` is the the total time taken by the minimizer.
+
+ For ``LINE_SEARCH_MINIMIZER`` the progress display looks like
+
+ .. code-block:: bash
+
+ 0: f: 2.317806e+05 d: 0.00e+00 g: 3.19e-01 h: 0.00e+00 s: 0.00e+00 e: 0 it: 2.98e-02 tt: 8.50e-02
+ 1: f: 2.312019e+05 d: 5.79e+02 g: 3.18e-01 h: 2.41e+01 s: 1.00e+00 e: 1 it: 4.54e-02 tt: 1.31e-01
+ 2: f: 2.300462e+05 d: 1.16e+03 g: 3.17e-01 h: 4.90e+01 s: 2.54e-03 e: 1 it: 4.96e-02 tt: 1.81e-01
+
+ Here
+
+ #. ``f`` is the value of the objective function.
+ #. ``d`` is the change in the value of the objective function if
+ the step computed in this iteration is accepted.
+ #. ``g`` is the max norm of the gradient.
+ #. ``h`` is the change in the parameter vector.
+ #. ``s`` is the optimal step length computed by the line search.
+ #. ``it`` is the time take by the current iteration.
+ #. ``tt`` is the the total time taken by the minimizer.
+
.. member:: vector<int> Solver::Options::lsqp_iterations_to_dump
Default: ``empty``
diff --git a/docs/source/tutorial.rst b/docs/source/tutorial.rst
index da63e9e..1e5756a 100644
--- a/docs/source/tutorial.rst
+++ b/docs/source/tutorial.rst
@@ -710,4 +710,8 @@
<http://www.itl.nist.gov/div898/strd/nls/nls_main.shtm>`_
non-linear regression problems.
+#. `libmv_bundle_adjuster.cc
+ <https://ceres-solver.googlesource.com/ceres-solver/+/master/examples/libmv_bundle_adjuster.cc>`_
+ is the bundle adjustment algorithm used by `Blender <www.blender.org>`_/libmv.
+
diff --git a/docs/source/version_history.rst b/docs/source/version_history.rst
index 11e1e46..b76e43c 100644
--- a/docs/source/version_history.rst
+++ b/docs/source/version_history.rst
@@ -4,8 +4,8 @@
Version History
===============
-HEAD
-====
+HEAD (52c3d9a)
+==============
New Features
------------
@@ -17,11 +17,14 @@
and runtime statistics for inner iterations are not reported in
``Solver::Summary`` and ``Solver::Summary::FullReport``.
#. Add BlockRandomAccessCRSMatrix.
-
+#. Bundle adjustment example from libmv/Blender (Sergey Sharybin)
Bug Fixes
---------
+#. Add documentation for minimizer progress output.
+#. Lint and other cleanups (William Rucklidge)
+#. Collections port fix for MSC 2008 (Sergey Sharybin)
#. Various corrections and cleanups in the documentation.
#. Change the path where CeresConfig.cmake is installed (Pablo Speciale)
#. Minor erros in documentation (Pablo Speciale)