| %!TEX root = ceres-solver.tex |
| |
| \chapter{Version History} |
| \section*{1.2.3} |
| \subsection{Bug Fixes} |
| \begin{itemize} |
| \item \texttt{suitesparse\_test} is enabled even when \texttt{-DSUITESPARSE=OFF}. |
| \item \texttt{FixedArray} internal struct did not respect \texttt{Eigen} |
| alignment requirements (Thanks Koichi Akabe \& Stephan Kassemeyer). |
| \item Fixed \texttt{quadratic.cc} documentation and code mismatch |
| (Thanks Nick Lewycky). |
| \end{itemize} |
| \section*{1.2.2} |
| \subsection{Bug Fixes} |
| \begin{itemize} |
| \item Fix constant parameter blocks, and other minor fixes (Thanks Markus Moll) |
| \item Fix alignment issues when combining \texttt{Jet} and |
| \texttt{FixedArray} in automatic differeniation. |
| \item Remove obsolete \texttt{build\_defs} file. |
| \end{itemize} |
| \section*{1.2.1} |
| \subsection{New Features} |
| \begin{itemize} |
| \item Powell's Dogleg solver |
| \item Documentation now has a brief overview of Trust Region methods and how the Levenberg-Marquardt and Dogleg methods work. |
| \end{itemize} |
| \subsection{Bug Fixes} |
| \begin{itemize} |
| \item Destructor for \texttt{TrustRegionStrategy} was not virtual (Thanks Markus Moll) |
| \item Invalid \texttt{DCHECK} in \texttt{suitesparse.cc} (Thanks Markus Moll) |
| \item Iteration callbacks were not properly invoked (Thanks to Luis Alberto Zarrabeiti for the report) |
| \item Logging level changes in ConjugateGradientsSolver |
| \item VisibilityBasedPreconditioner setup does not account for skipped camera pairs. This was debugging code. |
| \item Enable SSE support on MacOS |
| \item \texttt{system\_test} was taking too long and too much memory (Thanks Koichi Akabe) |
| \end{itemize} |
| \section*{1.2.0} |
| \subsection{New Features} |
| \begin{itemize} |
| \item \texttt{CXSparse} support. |
| \item Block oriented fill reducing orderings. This |
| reduces the factorization time for sparse |
| \texttt{CHOLMOD} significantly. |
| \item New Trust region loop with support for multiple |
| trust region step strategies. Currently only Levenberg-Marquardt is supported, but this refactoring opens the door for Dog-leg, Stiehaug and others. |
| \item \texttt{Cmake} file restructuring. Builds in \texttt{Release} mode by default, and now has platform specific tuning flags. |
| \item Re-organized documentation. No new content, but better organization. |
| \end{itemize} |
| |
| \subsection{Bug Fixes} |
| \begin{itemize} |
| \item Fixed integer overflow bug in \texttt{block\_random\_access\_sparse\_matrix.cc}. |
| \item Renamed some macros to prevent name conflicts. |
| \item Fixed incorrent input to \texttt{StateUpdatingCallback}. |
| \item Fixes to AutoDiff tests. |
| \item Various internal cleanups. |
| \end{itemize} |
| |
| \section*{1.1.1} |
| \subsection{Bug Fixes} |
| \begin{itemize} |
| \item Fix a bug in the handling of constant blocks. Thanks to Louis Simard for reporting this. |
| \item Add an optional lower bound to the Levenberg-Marquardt regularizer to prevent oscillating between well and ill posed linear problems. |
| \item Some internal refactoring and test fixes. |
| \end{itemize} |
| \section{1.1.0} |
| \subsection{New Features} |
| \begin{itemize} |
| \item New iterative linear solver for general sparse problems - \texttt{CGNR} and a block Jacobi preconditioner for it. |
| \item Changed the semantics of how \texttt{SuiteSparse} dependencies are checked and used. Now \texttt{SuiteSparse} is built by default, only if all of its dependencies are present. |
| \item Automatic differentiation now supports dynamic number of residuals. |
| \item Support for writing the linear least squares problems to disk in text format so that they can loaded into \texttt{MATLAB}. |
| \item Linear solver results are now checked for nan and infinities. |
| \item Added \texttt{.gitignore} file. |
| \item A better more robust build system. |
| \end{itemize} |
| |
| \subsection{Bug Fixes} |
| \begin{itemize} |
| \item Fixed a strict weak ordering bug in the schur ordering. |
| \item Grammar and typos in the documents and code comments. |
| \item Fixed tests which depended on exact equality between floating point values. |
| \end{itemize} |
| \section*{1.0.0} |
| Initial Release. |