mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-29 16:40:38 +08:00
Update version history in preparation for 2.1.0
Change-Id: I3771d5d289bbb9982eeec2ae3701246dd25eaac1
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
=====
|
||||
|
||||
|
||||
Reference in New Issue
Block a user