Update version history in preparation for 2.1.0

Change-Id: I3771d5d289bbb9982eeec2ae3701246dd25eaac1
This commit is contained in:
Sameer Agarwal
2022-02-27 07:02:59 -08:00
parent 6a37fbf9b4
commit e40391efa3
2 changed files with 143 additions and 4 deletions
+4 -4
View File
@@ -31,10 +31,10 @@ Why?
allows the user to *shape* their residuals using a
:class:`LossFunction` to reduce the influence of outliers.
- **Local Parameterization** In many cases, some parameters lie on a
manifold other than Euclidean space, e.g., rotation matrices. In
such cases, the user can specify the geometry of the local tangent
space by specifying a :class:`LocalParameterization` object.
- **Manifolds** In many cases, some parameters lie on a manifold
other than Euclidean space, e.g., rotation matrices. In such
cases, the user can specify the geometry of the local tangent
space by specifying a :class:`Manifold` object.
* **Solver Choice** Depending on the size, sparsity structure, time &
memory budgets, and solution quality requirements, different
+139
View File
@@ -1,9 +1,148 @@
.. default-domain:: cpp
.. highlight:: c++
.. cpp:namespace:: ceres
.. _chapter-version-history:
===============
Version History
===============
2.1.0
=====
New Features
------------
#. Support for CUDA based dense solvers - ``DENSE_QR``,
``DENSE_NORMAL_CHOLESKY`` & ``DENSE_SCHUR`` (Joydeep Biswas, Sameer
Agarwal)
#. :class:`Manifold` is the new
:class:`LocalParameterization`. Version 2.1 is the transition
release where users can use both :class:`LocalParameterization` as
well as :class:`Manifold` objects as they transition from the
former to the latter. :class:`LocalParameterization` will be
removed in version 2.2. There should be no numerical change to the
results as a result of this change. (Sameer Agarwal, Johannes Beck,
Sergiu Deitsch)
#. A number of changes to ``Jet`` s (Sergiu Deitsch)
* Jet gained support for, ``copysign``, ``fma`` (fused
multiply-add), ``midpoint`` (C++20 and above), ``lerp`` (C++20
and above), 3-argument ``hypot`` (C++17 and above), ``log10``,
``log1p``, ``exp1m``, ``norm`` (squared L^2 norm).
* Quiet floating-point comparison: ``isless``, ``isgreater``,
``islessgreater``, ``islessequal``, ``isgreaterequal``,
``isunordered``, ``signbit``, ``fdim``
* Categorization and comparison operations are applied exclusively
and consistently to the scalar part of a Jet now: ``isnan``,
``isinf``, ``isnormal``, ``isfinite``, ``fpclassify`` (new),
``fmin``, ``fmax``
* It is now possible to safely compare a ``Jet`` against a scalar
(or literal) without constructing a ``Jet`` first (even if it's
nested):
.. code-block:: c++
Jet<Jet<Jet<T, N>, M>, O> x;
if (x == 2) { } // equivalent to x.a.a.a == 2
This enables interaction with various arithmetic functions that
expect a scalar like instance, such as ``boost::math::pow<-N>``
for reciprocal computation.
#. Add :class:`NumericDiffFirstOrderFunction` (Sameer Agarwal)
Backward Incompatible API Changes
---------------------------------
#. :class:`LocalParameterization` is deprecated. It will be removed in
version 2.2. Use :class:`Manifold` instead.
#. Classification functions like ``IsFinite`` are deprecated. Use the
``c++11`` functions (``isfinite``, ``isnan`` etc) going
forward. However to maintain consistent behaviour with comparison
operators, these functions only inspect the scalar part of the
``Jet``.
Bug Fixes & Minor Changes
-------------------------
#. Modernize the code to be inline with ``c++14`` (Sergiu Deitsch, Sameer
Agarwal)
#. Lots of fixes to make Ceres compile out of the box on Windows
(Sergiu Deitsch)
#. Standardize path handling using ``GNUImstallDirs`` (Sergiu Deitsch)
#. Add final specifier to classes to help the compiler with
devirtualization (Sameer Agarwal)
#. LOTs of clean & modernization of the CMake build files (Sergiu
Deitsch & Alex Stewart)
#. Simplification to the symbol export logic (Sergiu Deitsch)
#. Add cmake option ``ENABLE_BITCODE`` for iOS builds (John Harrison)
#. Add const accessor for functor wrapped by auto/numeric-diff objects
(Alex Stewart)
#. Cleanup & refactor ``jet_test.cc``. (Sameer Agarwal)
#. Fix docs of supported sparse backends for mixed precision solvers
(Alex Stewart)
#. Fix C++20 compilation (Sergiu Deitsch)
#. Add an example for ``BiCubicInterpolator`` (Dmitriy Korcchemkin)
#. Add a section to the documentation on implicit and inverse function
theorems (Sameer Agarwal)
#. Add a note about Trigg's correction (Sameer Agarwal)
#. Fix the docs for ``Problem::RemoveResidualBlock`` &
``Problem::RemoveParameterBlock`` (Sameer Agarwal)
#. Fix an incorrect check in ``reorder_program.cc`` (William Gandler)
#. Add ``function_tolerance`` based convergence testing to ``TinySolver``
(Sameer Agarwal).
#. Fix a number of typos in ``rotation.h`` (@yiping)
#. Fix a typo in ``interfacing_with_autodiff.rst`` (@tangobravo)
#. Fix a matrix sizing bug in covariance_impl.cc (William Gandler)
#. Fix a bug in ``system_test.cc`` (William Gandler)
#. Fix the Jacobian computation in ``trust_region_minimizer_test.cc``
(William Gandler)
#. Fix a bug in ``local_parameterization_test.cc`` (William Gandler)
#. Add accessors to ``GradientProblem`` (Sameer Agarwal)
#. Refactor ``small_blas_gemm_benchmark`` (Ahmed Taei)
#. Refactor ``small_blas_test`` (Ahmed Taei)
#. Fix dependency check for building documentation (Sumit Dey)
#. Fix an errant double link in the docs (Timon Knigge)
#. Fix a typo in the version history (Noah Snavely)
#. Fix typo in LossFunctionWrapper sample code (Dmitriy Korchemkin)
#. Add fmax/fmin overloads for scalars (Alex Karatarakis)
#. Introduce benchmarks for ``Jet`` operations (Alexander Karatarakis)
#. Fix typos in documentation and fix the documentation for
``IterationSummary`` (Alexander Karatarakis)
#. Do not check MaxNumThreadsAvailable if the thread number is set
to 1. (Fuhao Shi)
#. Add a macro ``CERES_GET_FLAG``. (Sameer Agarwal)
#. Reduce log spam in ``covariance_impl.cc`` (Daniel Henell)
#. Fix FindTBB version detection with TBB >= 2021.1.1 (Alex Stewart)
#. Fix Eigen3_VERSION (Florian Berchtold)
#. Allow Unity Build (Tobias Schluter)
#. Make miniglog's InitGoogleLogging argument const (Tobias Schluter)
#. Use portable expression for constant 2/sqrt(pi) (Tobias Schluter)
#. Fix a number of compile errors related (Austin Schuch)
*. ``format not a string literal``
*. ``-Wno-maybe-uninitialized error``
*. ``nonnull arg compared to NULL``
*. ``-Wno-format-nonliteral``
*. ``-Wmissing-field-initializers``
*. ``-Werror``
#. Fix ``cc_binary`` includes so examples build as an external repo
(Austin Schuh)
#. Fix an explicit double in TinySolver (Bogdan Burlacu)
#. Fix unit quaternion rotation (Mykyta Kozlov)
2.0.0
=====