|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
<html class="no-js" lang="en" >
|
|
Packit |
ea1746 |
<head>
|
|
Packit |
ea1746 |
<meta charset="utf-8">
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
<title>Version History — Ceres Solver</title>
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
<link rel="top" title="Ceres Solver" href="index.html"/>
|
|
Packit |
ea1746 |
<link rel="next" title="Bibliography" href="bibliography.html"/>
|
|
Packit |
ea1746 |
<link rel="prev" title="Contributing" href="contributing.html"/>
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
<script src="_static/js/modernizr.min.js"></script>
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
</head>
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
<body class="wy-body-for-nav" role="document">
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Ceres Solver
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.13
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
|
Packit |
ea1746 |
<input type="text" name="q" placeholder="Search docs" />
|
|
Packit |
ea1746 |
<input type="hidden" name="check_keywords" value="yes" />
|
|
Packit |
ea1746 |
<input type="hidden" name="area" value="default" />
|
|
Packit |
ea1746 |
</form>
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Why?
|
|
Packit |
ea1746 |
Installation
|
|
Packit |
ea1746 |
Tutorial
|
|
Packit |
ea1746 |
On Derivatives
|
|
Packit |
ea1746 |
Modeling Non-linear Least Squares
|
|
Packit |
ea1746 |
Solving Non-linear Least Squares
|
|
Packit |
ea1746 |
Covariance Estimation
|
|
Packit |
ea1746 |
General Unconstrained Minimization
|
|
Packit |
ea1746 |
FAQS, Tips & Tricks
|
|
Packit |
ea1746 |
Users
|
|
Packit |
ea1746 |
Contributing
|
|
Packit |
ea1746 |
Version History
|
|
Packit |
ea1746 |
1.13.0
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Backward Incompatible API Changes
|
|
Packit |
ea1746 |
Bug Fixes & Minor Changes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.12.0
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Backward Incompatible API Changes
|
|
Packit |
ea1746 |
Bug Fixes & Minor Changes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.11.0
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Bug Fixes & Minor Changes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.10.0
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Backward Incompatible API Changes
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.9.0
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Backward Incompatible API Changes
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.8.0
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.7.0
|
|
Packit |
ea1746 |
Backward Incompatible API Changes
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.6.0
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.5.0
|
|
Packit |
ea1746 |
Backward Incompatible API Changes
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.4.0
|
|
Packit |
ea1746 |
Backward Incompatible API Changes
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.3.0
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.2.3
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.2.2
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.2.1
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.2.0
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.1.1
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.1.0
|
|
Packit |
ea1746 |
New Features
|
|
Packit |
ea1746 |
Bug Fixes
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.0.0
|
|
Packit |
ea1746 |
Origins
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Bibliography
|
|
Packit |
ea1746 |
License
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
</nav>
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Ceres Solver
|
|
Packit |
ea1746 |
</nav>
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Docs »
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Version History
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Version History¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.13.0¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
New Features¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
LineSearchMinimizer and GradientProblemSolver are up to 2x
|
|
Packit |
ea1746 |
faster due to fewer function evaluations. (Sameer Agarwal)
|
|
Packit |
ea1746 |
SPARSE_NORMAL_CHOLESKY is significantly faster because Ceres
|
|
Packit |
ea1746 |
now computes the normal equations exploiting the static block
|
|
Packit |
ea1746 |
sparsity structure. (Cheng Wang & Sameer Agarwal)
|
|
Packit |
ea1746 |
Add compound with scalar operators for Jets. (Alex Stewart)
|
|
Packit |
ea1746 |
Enable support for AVX instructions for Jets. (Alex Stewart)
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Backward Incompatible API Changes¶
|
|
Packit |
ea1746 |
The enum CovarianceAlgorithmType which controls the linear algebra
|
|
Packit |
ea1746 |
algorithm used to compute the covariance used to combine the choice of
|
|
Packit |
ea1746 |
the algorithm and the choice of the sparse linear algebra library into
|
|
Packit |
ea1746 |
the enum name. So we had SUITE_SPARSE_QR and
|
|
Packit |
ea1746 |
EIGEN_SPARSE_QR . Covariance::Options now has a separate member
|
|
Packit |
ea1746 |
allowing the user to choose the sparse linear algebra library, just
|
|
Packit |
ea1746 |
like the solver and CovarianceAlgorithmType now takes values
|
|
Packit |
ea1746 |
DENSE_SVD and SPARSE_QR . This is a forward looking change that
|
|
Packit |
ea1746 |
will allow us to develop more flexible covariance estimation
|
|
Packit |
ea1746 |
algorithms with multiple linear algebra backends.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Bug Fixes & Minor Changes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Fix InvertPSDMatrix as it was triggering an Eigen assert in
|
|
Packit |
ea1746 |
Debug mode. (Philipp Hubner)
|
|
Packit |
ea1746 |
Fix cmake error from CeresConfig.cmake when Ceres not found (Taylor
|
|
Packit |
ea1746 |
Braun-Jones)
|
|
Packit |
ea1746 |
Completely refactored SparseNormalCholeskySolver . (Sameer
|
|
Packit |
ea1746 |
Agarwal)
|
|
Packit |
ea1746 |
Fixed time reporting in Summary::FullReport when
|
|
Packit |
ea1746 |
LineSearchMinimizer is used. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Remove unused file: collections_port.cc. (Sameer Agarwal)
|
|
Packit |
ea1746 |
SPARSE_SCHUR + CX_SPARSE = Faster (Sameer Agarwal)
|
|
Packit |
ea1746 |
Refactored a number of linear solver tests to be more thorough and
|
|
Packit |
ea1746 |
informative. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Pass user-specified search hints as HINTS not PATHS. (Alex Stewart)
|
|
Packit |
ea1746 |
Prefer Eigen installs over exported build directories. (Alex
|
|
Packit |
ea1746 |
Stewart)
|
|
Packit |
ea1746 |
Add OpenMP flags when compiling for C if enabled. (Alex Stewart)
|
|
Packit |
ea1746 |
Add a missing CERES_EXPORT to GradientChecker (Sameer Agarwal)
|
|
Packit |
ea1746 |
Use target_compile_features() to specify C++11 requirement if
|
|
Packit |
ea1746 |
available. (Alex Stewart)
|
|
Packit |
ea1746 |
Update docs: .netrc –> .gitcookies (Keir Mierle)
|
|
Packit |
ea1746 |
Fix implicit precission loss warning on 64-bit archs (Ricardo
|
|
Packit |
ea1746 |
Sanchez-Saez)
|
|
Packit |
ea1746 |
Optionally use exported Eigen CMake configuration if
|
|
Packit |
ea1746 |
available. (Alex Stewart)
|
|
Packit |
ea1746 |
Use Ceres_[SOURCE/BINARY]_DIR not CMAKE_XXX_DIR to support
|
|
Packit |
ea1746 |
nesting. (Alex Stewart)
|
|
Packit |
ea1746 |
Update Problem::EvaluateOptions documentation. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Add public headers to CMake target for IDEs. (Devin Lane)
|
|
Packit |
ea1746 |
Add an article on interfacing with automatic
|
|
Packit |
ea1746 |
differentiation. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Add default Fedora/Debian locations for CXSparse to search
|
|
Packit |
ea1746 |
paths. (Alex Stewart)
|
|
Packit |
ea1746 |
Add a test for LineSearchMinimizer (Sameer Agarwal)
|
|
Packit |
ea1746 |
Flatten the table of contents. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Fix when LineSearchMinimizer adds the IterationSummary` to
|
|
Packit |
ea1746 |
Solver::Summary (Sameer Agarwal)
|
|
Packit |
ea1746 |
Fix search path for miniglog headers when Ceres is exported. (Alex
|
|
Packit |
ea1746 |
Stewart)
|
|
Packit |
ea1746 |
Fix ambiguous reference to WARNING when using miniglog. (Alex
|
|
Packit |
ea1746 |
Stewart)
|
|
Packit |
ea1746 |
Fix Jet/Eigen compatibility for Eigen > 3.3 (Julien Pilet)
|
|
Packit |
ea1746 |
Add max severity option when MINIGLOG is enabled (Taylor
|
|
Packit |
ea1746 |
Braun-Jones)
|
|
Packit |
ea1746 |
Improvements to Schur template specializations (Sameer Agarwal)
|
|
Packit |
ea1746 |
Added an article on derivatives (Sameer Agarwal)
|
|
Packit |
ea1746 |
Require Eigen >= 3.3 to define ScalarBinaryOpTraits in Jet. (Alex
|
|
Packit |
ea1746 |
Stewart)
|
|
Packit |
ea1746 |
A hacky fix for the Eigen::FullPivLU changes. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Specify ScalarBinaryOpTraits for Jet types. (Chris Sweeney)
|
|
Packit |
ea1746 |
Remove spurious conversion from doubles to Jets. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Fix an error in the tutorial code for NumericDiffCostFunction
|
|
Packit |
ea1746 |
(Sameer Agarwal)
|
|
Packit |
ea1746 |
CERES_EXPORT fix to compile Ceres as DLL (Je Hyeong Hong)
|
|
Packit |
ea1746 |
Fix detection of deprecated Bessel function names on MSVC. (Alex
|
|
Packit |
ea1746 |
Stewart)
|
|
Packit |
ea1746 |
Ensure that partial evaluation of residuals triggers an error
|
|
Packit |
ea1746 |
(Sameer Agarwal)
|
|
Packit |
ea1746 |
Fix detection of CMake-built glog on Windows. (Alex Stewart)
|
|
Packit |
ea1746 |
Add additional search paths for glog & Eigen on Windows. (Alex
|
|
Packit |
ea1746 |
Stewart)
|
|
Packit |
ea1746 |
Various minor grammar and bug fixes to the documentation (Sameer
|
|
Packit |
ea1746 |
Agarwal, Alex Stewart, William Rucklidge)
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.12.0¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
New Features¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Aligned Jet matrices for improved automatic differentiation
|
|
Packit |
ea1746 |
performance. (Andrew Hunter)
|
|
Packit |
ea1746 |
Auto-differentiable implementations of Bessel functions, floor ,
|
|
Packit |
ea1746 |
and ceil (Alessandro Gentilini & Michael Vitus)
|
|
Packit |
ea1746 |
New 2D and 3D SLAM examples. (Michael Vitus)
|
|
Packit |
ea1746 |
Added EigenQuaternionParameterization . (Michael Vitus)
|
|
Packit |
ea1746 |
Added Problem::IsParameterBlockConstant (Thomas Schneider)
|
|
Packit |
ea1746 |
A complete refactoring of TrustRegionMinimizer . (Sameer Agarwal)
|
|
Packit |
ea1746 |
Gradient checking cleanup and local parameterization bugfix (David
|
|
Packit |
ea1746 |
Gossow)
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Backward Incompatible API Changes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Solver::Options::numeric_derivative_relative_step_size has been
|
|
Packit |
ea1746 |
renamed to
|
|
Packit |
ea1746 |
Solver::Options::gradient_check_numeric_derivative_relative_step_size . (Sameer
|
|
Packit |
ea1746 |
Agarwal)
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Bug Fixes & Minor Changes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Clear XXX_FOUND in Find<XXX>.cmake prior to searching. (Alex
|
|
Packit |
ea1746 |
Stewart)
|
|
Packit |
ea1746 |
Fix versioning in the documentation (Sameer Agarwal)
|
|
Packit |
ea1746 |
Fix missing gflags imported target definition in
|
|
Packit |
ea1746 |
CeresConfig.cmake. (Alex Stewart)
|
|
Packit |
ea1746 |
Make gflags a public dependency of Ceres if it and glog are
|
|
Packit |
ea1746 |
found. (Alex Stewart)
|
|
Packit |
ea1746 |
Add support for glog exported CMake target. (Alex Stewart)
|
|
Packit |
ea1746 |
Use google::GLOG_WARNING instead of WARNING in tests to
|
|
Packit |
ea1746 |
support MSVC. (Alex Stewart)
|
|
Packit |
ea1746 |
Update gtest and gmock to
|
|
Packit |
ea1746 |
a2b8a8e07628e5fd60644b6dd99c1b5e7d7f1f47 (Sameer Agarwal)
|
|
Packit |
ea1746 |
Add MSVC-specific #define to expose math constants in
|
|
Packit |
ea1746 |
<cmath> . (Alex Stewart)
|
|
Packit |
ea1746 |
Fix typo. indepdendent -> independent (Hung Lun)
|
|
Packit |
ea1746 |
Fix potential invalid reset of CMAKE_FIND_LIBRARY_PREFIXES on MSVC
|
|
Packit |
ea1746 |
(Alex Stewart)
|
|
Packit |
ea1746 |
Fix use of alignas(0) which is not ignored on GCC (Alex Stewart)
|
|
Packit |
ea1746 |
Use default alignment if alignof(std::max_align_t) < 16 with C++11
|
|
Packit |
ea1746 |
(Alex Stewart)
|
|
Packit |
ea1746 |
Introduce a common base class for DynamicAutoDiffCostFunction and
|
|
Packit |
ea1746 |
DynamicNumericDiffCostFunction. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Fix an exact equality test causing breakage in
|
|
Packit |
ea1746 |
gradient_checker_test. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Add GradientProblemSolver::Options::parameter_tolerance. (Sameer
|
|
Packit |
ea1746 |
Agarwal)
|
|
Packit |
ea1746 |
Add missing T() wrappers for constants. (Rob Carroll)
|
|
Packit |
ea1746 |
Remove two checks from rotation.h (Sameer Agarwal)
|
|
Packit |
ea1746 |
Relax the tolerance in QuaternionParameterizationTestHelper. (Je
|
|
Packit |
ea1746 |
Hyeong Hong)
|
|
Packit |
ea1746 |
Occured -> Occurred. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Fix a test error in autodiff_test.cc. (Je Hyeong Hong)
|
|
Packit |
ea1746 |
Fix documentation source for templated function in rotation.h .
|
|
Packit |
ea1746 |
Add package.xml to enable Catkin builds. (Damon Kohler)
|
|
Packit |
ea1746 |
Relaxing Jacobian matching in Gradient Checker test. (David Gossow)
|
|
Packit |
ea1746 |
Allow SubsetParameterization to hold all parameters constant
|
|
Packit |
ea1746 |
(Sameer Agarwal)
|
|
Packit |
ea1746 |
Fix an Intel compiler error in covariance_impl.cc (Je Hyeong Hong)
|
|
Packit |
ea1746 |
Removing duplicate include directive. (David Gossow)
|
|
Packit |
ea1746 |
Remove two DCHECKs from CubicHermiteSpline. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Fix some compiler warnings. (Richard Trieu)
|
|
Packit |
ea1746 |
Update ExpectArraysClose to use ExpectClose instead of
|
|
Packit |
ea1746 |
EXPECT_NEAR. (Phillip Hubner)
|
|
Packit |
ea1746 |
FindWithDefault returns by value rather than reference. (@aradval)
|
|
Packit |
ea1746 |
Fix compiler errors on some systems. (David Gossow)
|
|
Packit |
ea1746 |
Note that Problem::Evaluate cannot be called from an
|
|
Packit |
ea1746 |
IterationCallback. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Use ProductParameterization in bundle_adjuster.cc (Sameer Agarwal)
|
|
Packit |
ea1746 |
Enable support for OpenMP in Clang if detected. (Alex Stewart)
|
|
Packit |
ea1746 |
Remove duplicate entry for the NIST example in the docs. (Michael
|
|
Packit |
ea1746 |
Vitus)
|
|
Packit |
ea1746 |
Add additional logging for analyzing orderings (Sameer Agarwal)
|
|
Packit |
ea1746 |
Add readme for the sampled_function example. (Michael Vitus)
|
|
Packit |
ea1746 |
Use _j[0,1,n]() Bessel functions on MSVC to avoid deprecation
|
|
Packit |
ea1746 |
errors. (Alex Stewart & Kichang Kim)
|
|
Packit |
ea1746 |
Fix: Copy minimizer option is_silent to
|
|
Packit |
ea1746 |
LineSearchDirection::Options (Nicolai Wojke)
|
|
Packit |
ea1746 |
Fix typos in users.rst (Sameer Agarwal)
|
|
Packit |
ea1746 |
Make some Jet comparisons exact. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Add colmap to users.rst (Sameer Agarwal)
|
|
Packit |
ea1746 |
Fix step norm evaluation in LineSearchMinimizer (Sameer Agarwal)
|
|
Packit |
ea1746 |
Remove use of -Werror when compiling Ceres. (Alex Stewart)
|
|
Packit |
ea1746 |
Report Ceres compile options as components in find_package(). (Alex
|
|
Packit |
ea1746 |
Stewart)
|
|
Packit |
ea1746 |
Fix a spelling error in nnls_modeling.rst (Timer)
|
|
Packit |
ea1746 |
Only use collapse() directive with OpenMP 3.0 or higher. (Keir
|
|
Packit |
ea1746 |
Mierle)
|
|
Packit |
ea1746 |
Fix install path for CeresConfig.cmake to be architecture-aware.
|
|
Packit |
ea1746 |
Fix double conversion to degrees in rotation_test (Keir Mierle)
|
|
Packit |
ea1746 |
Make Jet string output more readable (Keir Mierle)
|
|
Packit |
ea1746 |
Fix rotation_test IsClose() and related tests (Keir Mierle)
|
|
Packit |
ea1746 |
Loosen an exact equality in local_parameterization_test (Sameer
|
|
Packit |
ea1746 |
Agarwal)
|
|
Packit |
ea1746 |
make_docs: Pass the file encoding to open() (Niels Ole Salscheider)
|
|
Packit |
ea1746 |
Fix error message returned when using SUITE_SPARSE_QR in covariance
|
|
Packit |
ea1746 |
estimation on a ceres built without SuiteSparse support. (Simon
|
|
Packit |
ea1746 |
Rutishauser)
|
|
Packit |
ea1746 |
Fix CXX11 option to be available on MinGW & CygWin, but not
|
|
Packit |
ea1746 |
MSVC. (Alex Stewart)
|
|
Packit |
ea1746 |
Fix missing early return() in xxx_not_found() dependency
|
|
Packit |
ea1746 |
macros. (Alex Stewart)
|
|
Packit |
ea1746 |
Initialize inner_iterations_were_useful_ correctly. (Sameer
|
|
Packit |
ea1746 |
Agarwal)
|
|
Packit |
ea1746 |
Add an implementation for GradientProblemSolver::Options::IsValid
|
|
Packit |
ea1746 |
(Sameer Agarwal)
|
|
Packit |
ea1746 |
Fix use of va_copy() if compiling with explicit C++ version <
|
|
Packit |
ea1746 |
C++11. (Alex Stewart)
|
|
Packit |
ea1746 |
Install CMake files to lib/cmake/Ceres (Niels Ole Salscheider)
|
|
Packit |
ea1746 |
Allow users to override the documentation install directory. (Niels
|
|
Packit |
ea1746 |
Ole Salscheider)
|
|
Packit |
ea1746 |
Add covariance matrix for a vector of parameters (Wannes Van Loock)
|
|
Packit |
ea1746 |
Saner tolerances & stricter LRE test. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Fix a malformed sentence in the tutorial. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Add logging for sparse Cholesky factorization using Eigen. (Sameer
|
|
Packit |
ea1746 |
Agarwal)
|
|
Packit |
ea1746 |
Use std::adjacent_find instead of std::unique. (Sameer Agarwal)
|
|
Packit |
ea1746 |
Improve logging in CompressedRowJacobianWriter on crash. (Sameer
|
|
Packit |
ea1746 |
Agarwal)
|
|
Packit |
ea1746 |
Fix free parameter block handling in covariance computation (Wannes
|
|
Packit |
ea1746 |
Van Loock)
|
|
Packit |
ea1746 |
Report the number of line search steps in FullReport. (Sameer
|
|
Packit |
ea1746 |
Agarwal)
|
|
Packit |
ea1746 |
Make CMake read Ceres version directly from
|
|
Packit |
ea1746 |
include/ceres/version.h. (Alex Stewart)
|
|
Packit |
ea1746 |
Lots of code style/lint changes. (William Rucklidge)
|
|
Packit |
ea1746 |
Fix covariance computation for constant blocks (Wannes Van Loock)
|
|
Packit |
ea1746 |
Add IOS_DEPLOYMENT_TARGET variable to iOS.cmake (Eduard Feicho)
|
|
Packit |
ea1746 |
Make miniglog threadsafe on non-windows system by using
|
|
Packit |
ea1746 |
localtime_r() instead of localtime() for time formatting (Simon
|
|
Packit |
ea1746 |
Rutishauser)
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.11.0¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
New Features¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Adaptive numeric differentiation using Ridders’ method. (Tal
|
|
Packit |
ea1746 |
Ben-Nun)
|
|
Packit |
ea1746 |
Add CubicInterpolator and BiCubicInterpolator to allow
|
|
Packit |
ea1746 |
smooth interpolation of sampled functions and integration with
|
|
Packit |
ea1746 |
automatic differentiation.
|
|
Packit |
ea1746 |
Add method to return covariance in tangent space. (Michael Vitus &
|
|
Packit |
ea1746 |
Steve Hsu)
|
|
Packit |
ea1746 |
Add Homogeneous vector parameterization. (Michael Vitus)
|
|
Packit |
ea1746 |
Add a ProductParameterization , a local parameterization that
|
|
Packit |
ea1746 |
can be constructed as a cartesian product of other local
|
|
Packit |
ea1746 |
parameterization.
|
|
Packit |
ea1746 |
Add DynamicCostFunctionToFunctor. (David Gossow)
|
|
Packit |
ea1746 |
Optionally export Ceres build directory into local CMake package
|
|
Packit |
ea1746 |
registry.
|
|
Packit |
ea1746 |
Faster SPARSE_NORMAL_CHOLESKY in the presence of dynamic
|
|
Packit |
ea1746 |
sparsity.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Bug Fixes & Minor Changes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Remove use of link-time optimisation (LTO) for all compilers due to
|
|
Packit |
ea1746 |
portability issues with gtest / type_info::operator== & Eigen with
|
|
Packit |
ea1746 |
Clang on OS X vs GCC 4.9+ on Linux requiring contradictory ‘fixes’.
|
|
Packit |
ea1746 |
Use link-time optimisation (LTO) only when compiling Ceres itself,
|
|
Packit |
ea1746 |
not tests or examples, to bypass gtest / type_info::operator==
|
|
Packit |
ea1746 |
issue.
|
|
Packit |
ea1746 |
Use old minimum iOS version flags on Xcode < 7.0.
|
|
Packit |
ea1746 |
Add gtest-specific flags when building/using as a shared library.
|
|
Packit |
ea1746 |
Clean up iOS.cmake to use xcrun/xcodebuild & libtool.
|
|
Packit |
ea1746 |
Import the latest version of googletest .
|
|
Packit |
ea1746 |
Refactored system_test into bundle_adjustment_test and
|
|
Packit |
ea1746 |
system_test , where each test case is its own test.
|
|
Packit |
ea1746 |
Fix invalid memory access bug in
|
|
Packit |
ea1746 |
CompressedRowSparseMatrix::AppendRows when it was called with a
|
|
Packit |
ea1746 |
matrix of size zero.
|
|
Packit |
ea1746 |
Build position independent code when compiling Ceres statically
|
|
Packit |
ea1746 |
(Alexander Alekhin).
|
|
Packit |
ea1746 |
Fix a bug in DetectStructure (Johannes Schonberger).
|
|
Packit |
ea1746 |
Reduce memory footprint of SubsetParameterization (Johannes
|
|
Packit |
ea1746 |
Schonberger).
|
|
Packit |
ea1746 |
Fix for reorder program unit test when built without suitesparse
|
|
Packit |
ea1746 |
(Sergey Sharybin).
|
|
Packit |
ea1746 |
Fix a bug in the Schur eliminator (Werner Trobin).
|
|
Packit |
ea1746 |
Fix a bug in the reordering code (Bernhard Zeisl).
|
|
Packit |
ea1746 |
Add missing CERES_EXPORT to ComposedLoss (Simon Rutishauser).
|
|
Packit |
ea1746 |
Add the option to use numeric differentiation to nist and
|
|
Packit |
ea1746 |
more_garbow_hillstrom .
|
|
Packit |
ea1746 |
Fix EIGENSPARSE option help s/t it displays in CMake ncurses GUI.
|
|
Packit |
ea1746 |
Fix SparseNormalCholeskySolver with dynamic sparsity (Richie
|
|
Packit |
ea1746 |
Stebbing).
|
|
Packit |
ea1746 |
Remove legacy dependency detection macros.
|
|
Packit |
ea1746 |
Fix failed if() condition expansion if gflags is not found.
|
|
Packit |
ea1746 |
Update all CMake to lowercase function name style.
|
|
Packit |
ea1746 |
Update minimum iOS version to 7.0 for shared_ptr/unordered_map.
|
|
Packit |
ea1746 |
Fix bug in gflags’ <= 2.1.2 exported CMake configuration.
|
|
Packit |
ea1746 |
Remove the spec file needed for generating RPMs.
|
|
Packit |
ea1746 |
Fix a typo in small_blas.h (Werber Trobin).
|
|
Packit |
ea1746 |
Cleanup FindGflags & use installed gflags CMake config if present.
|
|
Packit |
ea1746 |
Add default glog install location on Windows to search paths
|
|
Packit |
ea1746 |
(bvanevery).
|
|
Packit |
ea1746 |
Add default Eigen install location on Windows to search paths
|
|
Packit |
ea1746 |
(bvanevery).
|
|
Packit |
ea1746 |
Fix explanation of config.h generation in bare config.h.
|
|
Packit |
ea1746 |
Fix unused parameter compiler warnings in numeric_diff.h.
|
|
Packit |
ea1746 |
Increase tolerance for a test in polynomial_test (Taylor Braun
|
|
Packit |
ea1746 |
Jones).
|
|
Packit |
ea1746 |
Fix addition of Gerrit commit hook when Ceres is a git submodule
|
|
Packit |
ea1746 |
(Chris Cooper).
|
|
Packit |
ea1746 |
Fix missing EIGEN_VERSION expansion typo.
|
|
Packit |
ea1746 |
Fix links to SuiteSparse & CXSparse (Henrique Mendonça).
|
|
Packit |
ea1746 |
Ensure Eigen is at least 3.1.0 for Eigen/SparseCore.
|
|
Packit |
ea1746 |
Add option to use C++11 (not TR1) shared_ptr & unordered_map
|
|
Packit |
ea1746 |
(Norman Goldstein).
|
|
Packit |
ea1746 |
Fix an incorrect usage message in bundle_adjuster.cc
|
|
Packit |
ea1746 |
Gracefully disable docs if Sphinx is not found.
|
|
Packit |
ea1746 |
Explicitly use (new) default OS X rpath policy if present.
|
|
Packit |
ea1746 |
Add support of EIGEN_SPARSE type in
|
|
Packit |
ea1746 |
IsSparseLinearAlgebraLibraryTypeAvailable function (Pierre Moulon).
|
|
Packit |
ea1746 |
Allow the LossFunction contained in a LossFunctionWrapper to be
|
|
Packit |
ea1746 |
NULL. This is consistent with how NULL LossFunctions are treated
|
|
Packit |
ea1746 |
everywhere else. (Simon Rutishauser).
|
|
Packit |
ea1746 |
Improve numeric differentation near zero.
|
|
Packit |
ea1746 |
Refactored DynamicNumericDiffCostFunction to use NumericDiff (Tal
|
|
Packit |
ea1746 |
Ben-Nun).
|
|
Packit |
ea1746 |
Remove use of :caption tag in Sphinx.
|
|
Packit |
ea1746 |
Add a small test to make sure GradientProblemSolver works correctly
|
|
Packit |
ea1746 |
(Petter Strandmark).
|
|
Packit |
ea1746 |
Add simple unit tests for GradientProblem (Petter Strandmark).
|
|
Packit |
ea1746 |
Make the robust curve fitting example robust.
|
|
Packit |
ea1746 |
Homogenize convergence operators in docs and code (Johannes
|
|
Packit |
ea1746 |
Schonberger).
|
|
Packit |
ea1746 |
Add parameter_tolerance convergence to line search minimizer
|
|
Packit |
ea1746 |
(Johannes Schonberger).
|
|
Packit |
ea1746 |
Fix bug where pow(JetA,JetB) returned wrong result for JetA==0
|
|
Packit |
ea1746 |
(Russell Smith).
|
|
Packit |
ea1746 |
Remove duplicate step norm computation (Johannes Schonberger).
|
|
Packit |
ea1746 |
Enhance usability when encountering Eigen version mismatches
|
|
Packit |
ea1746 |
(Andrew Hundt).
|
|
Packit |
ea1746 |
Add PLY file logger before and after BA in order to ease visual
|
|
Packit |
ea1746 |
comparison (Pierre Moulon).
|
|
Packit |
ea1746 |
Fix CMake config file docs to include 2.8.x & 3.x styles.
|
|
Packit |
ea1746 |
Python3 fixes (Markus Moll).
|
|
Packit |
ea1746 |
Remove confusing code from DenseJacobianWriter (Michael Vitus).
|
|
Packit |
ea1746 |
Add documentation on CMake package installation process.
|
|
Packit |
ea1746 |
Revert a call to SolveUpperTriangularUsingCholesky.
|
|
Packit |
ea1746 |
Make CERES_EIGEN_VERSION macro independent of CMake.
|
|
Packit |
ea1746 |
Add versions of dependencies used to FullReport().
|
|
Packit |
ea1746 |
Ensure local config.h is used if Ceres is already installed.
|
|
Packit |
ea1746 |
Small messaging and comment updates in CMake
|
|
Packit |
ea1746 |
Handle possible presence of library prefixes in MSVC (Sylvain
|
|
Packit |
ea1746 |
Duchêne).
|
|
Packit |
ea1746 |
Use -O2 not -O3 on MinGW to workaround issue with Eigen
|
|
Packit |
ea1746 |
(s1m3mu3@gmail.com).
|
|
Packit |
ea1746 |
Increase tolerance in small_blas test for Cygwin
|
|
Packit |
ea1746 |
(s1m3mu3@gmail.com).
|
|
Packit |
ea1746 |
Fix iOS cmake file for cmake 3.0 (Jack Feng)
|
|
Packit |
ea1746 |
Fix missing gflags shlwapi dependency on MinGW (s1m3mu3@gmail.com).
|
|
Packit |
ea1746 |
Add thread dependency & fix namespace detection on Windows for
|
|
Packit |
ea1746 |
gflags (arrigo.benedetti@gmail.com).
|
|
Packit |
ea1746 |
Rename macros in the public API to have a CERES_ prefix.
|
|
Packit |
ea1746 |
Fix OrderedGroup::Reverse() when it is empty (Chris Sweeney).
|
|
Packit |
ea1746 |
Update the code to point to ceres-solver.org.
|
|
Packit |
ea1746 |
Update documentation to point to the GitHub issue tracker.
|
|
Packit |
ea1746 |
Disable LAPACK for iOS builds. (Greg Coombe)
|
|
Packit |
ea1746 |
Force use of single-thread in Problem::Evaluate() without
|
|
Packit |
ea1746 |
OpenMP.
|
|
Packit |
ea1746 |
Less strict check for multithreading. (Chris Sweeney)
|
|
Packit |
ea1746 |
Update tolerances in small_blas_test.cc (Philipp Hubner)
|
|
Packit |
ea1746 |
Documentation corrections (Steve Hsu)
|
|
Packit |
ea1746 |
Fixed sampled_function.cc (Pablo Speciale)
|
|
Packit |
ea1746 |
Fix example code in the documentation. (Rodney Hoskinson)
|
|
Packit |
ea1746 |
Improve the error handling in Conjugate Gradients.
|
|
Packit |
ea1746 |
Improve preconditioner documentation.
|
|
Packit |
ea1746 |
Remove dead code from fpclassify.h.
|
|
Packit |
ea1746 |
Make Android.mk threads sensitive.
|
|
Packit |
ea1746 |
Changed the CURRENT_CONFIG_INSTALL_DIR to be a variable local
|
|
Packit |
ea1746 |
to Ceres. (Chris Sweeney)
|
|
Packit |
ea1746 |
Fix typo in the comments in Jet.h . (Julius Ziegler)
|
|
Packit |
ea1746 |
Add the ASL at ETH Zurich, Theia & OpenPTrack to the list of users.
|
|
Packit |
ea1746 |
Fixed a typo in the documentation. (Richard Stebbing)
|
|
Packit |
ea1746 |
Fixed a boundary handling bug in the BiCubic interpolation
|
|
Packit |
ea1746 |
code. (Bernhard Zeisl)
|
|
Packit |
ea1746 |
Fixed a MSVC compilation bug in the cubic interpolation code
|
|
Packit |
ea1746 |
(Johannes Schönberger)
|
|
Packit |
ea1746 |
Add covariance related files to the Android build.
|
|
Packit |
ea1746 |
Update Ubuntu 14.04 installation instructions. (Filippo Basso)
|
|
Packit |
ea1746 |
Improved logging for linear solver failures.
|
|
Packit |
ea1746 |
Improved crash messages in Problem .
|
|
Packit |
ea1746 |
Hide Homebrew related variables in CMake GUI.
|
|
Packit |
ea1746 |
Add SuiteSparse link dependency for
|
|
Packit |
ea1746 |
compressed_col_sparse_matrix_utils_test.
|
|
Packit |
ea1746 |
Autodetect Homebrew install prefix on OSX.
|
|
Packit |
ea1746 |
Lint changes from William Rucklidge and Jim Roseborough.
|
|
Packit |
ea1746 |
Remove using namespace std: from port.h
|
|
Packit |
ea1746 |
Add note about glog not currently compiling against gflags 2.1.
|
|
Packit |
ea1746 |
Add explicit no sparse linear algebra library available option.
|
|
Packit |
ea1746 |
Improve some wording in the FAQ. (Vasily Vylkov)
|
|
Packit |
ea1746 |
Delete Incomplete LQ Factorization.
|
|
Packit |
ea1746 |
Add a pointer to MacPorts. (Markus Moll)
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.10.0¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
New Features¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Ceres Solver can now be used to solve general unconstrained
|
|
Packit |
ea1746 |
optimization problems. See the documentation for
|
|
Packit |
ea1746 |
GradientProblem and GradientProblemSolver .
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Eigen can now be as a sparse linear algebra backend. This can
|
|
Packit |
ea1746 |
be done by setting
|
|
Packit |
ea1746 |
Solver::Options::sparse_linear_algebra_library_type to
|
|
Packit |
ea1746 |
EIGEN_SPARSE . Performance should be comparable to
|
|
Packit |
ea1746 |
CX_SPARSE .
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Note
|
|
Packit |
ea1746 |
Because Eigen is a header only library, and some of the code
|
|
Packit |
ea1746 |
related to sparse Cholesky factorization is LGPL, building Ceres
|
|
Packit |
ea1746 |
with support for Eigen’s sparse linear algebra is disabled by
|
|
Packit |
ea1746 |
default and should be enabled explicitly.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Note
|
|
Packit |
ea1746 |
For good performance, use Eigen version 3.2.2 or later.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Added EIGEN_SPARSE_QR algorithm for covariance estimation using
|
|
Packit |
ea1746 |
Eigen ‘s sparse QR factorization. (Michael Vitus)
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Faster inner iterations when using multiple threads.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Faster ITERATIVE_SCHUR + SCHUR_JACOBI for small to medium
|
|
Packit |
ea1746 |
sized problems (see documentation for
|
|
Packit |
ea1746 |
Solver::Options::use_explicit_schur_complement ).
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Faster automatic Schur ordering.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Reduced memory usage when solving problems with dynamic sparsity.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
CostFunctionToFunctor now supports dynamic number of residuals.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
A complete re-write of the problem preprocessing phase.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Solver::Summary::FullReport now reports the build configuration
|
|
Packit |
ea1746 |
for Ceres.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
When building on Android, the NDK version detection logic has
|
|
Packit |
ea1746 |
been improved.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
The CERES_VERSION macro has been improved and replaced with the
|
|
Packit |
ea1746 |
CERES_VERSION_STRING macro.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Added Solver::Options::IsValid which allows users to validate
|
|
Packit |
ea1746 |
their solver configuration before calling Solve .
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Added Problem::GetCostFunctionForResidualBlock and
|
|
Packit |
ea1746 |
Problem::GetLossFunctionForResidualBlock .
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Added Tukey’s loss function. (Michael Vitus)
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Added RotationMatrixToQuaternion
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Compute & report timing information for line searches.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Autodetect gflags namespace.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Expanded more_garbow_hillstrom.cc .
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Added a pointer to Tal Ben-Nun’s MSVC wrapper to the docs.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Added the <2,3,6> Schur template specialization. (Alessandro
|
|
Packit |
ea1746 |
Dal Grande)
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Backward Incompatible API Changes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
NumericDiffFunctor has been removed. It’s API was broken, and
|
|
Packit |
ea1746 |
the implementation was an unnecessary layer of abstraction over
|
|
Packit |
ea1746 |
CostFunctionToFunctor .
|
|
Packit |
ea1746 |
POLAK_RIBIRERE conjugate gradients direction type has been
|
|
Packit |
ea1746 |
renamed to POLAK_RIBIERE .
|
|
Packit |
ea1746 |
Solver::Options::solver_log has been removed. If needed this
|
|
Packit |
ea1746 |
iteration callback can easily be implemented in user code.
|
|
Packit |
ea1746 |
The SPARSE_CHOLESKY algorithm for covariance estimation has
|
|
Packit |
ea1746 |
been removed. It is not rank revealing and numerically poorly
|
|
Packit |
ea1746 |
behaved. Sparse QR factorization is a much better way to do this.
|
|
Packit |
ea1746 |
The SPARSE_QR algorithm for covariance estimation has been
|
|
Packit |
ea1746 |
renamed to SUITE_SPARSE_QR to be consistent with
|
|
Packit |
ea1746 |
EIGEN_SPARSE_QR .
|
|
Packit |
ea1746 |
Solver::Summary::preconditioner_type has been replaced with
|
|
Packit |
ea1746 |
Solver::Summary::preconditioner_type_given and
|
|
Packit |
ea1746 |
Solver::Summary::preconditioner_type_used to be more consistent
|
|
Packit |
ea1746 |
with how information about the linear solver is communicated.
|
|
Packit |
ea1746 |
CERES_VERSION and CERES_ABI_VERSION macros were not
|
|
Packit |
ea1746 |
terribly useful. They have been replaced with
|
|
Packit |
ea1746 |
CERES_VERSION_MAJOR , CERES_VERSION_MINOR ,
|
|
Packit |
ea1746 |
CERES_VERSION_REVISION and CERES_VERSION_ABI macros. In
|
|
Packit |
ea1746 |
particular the functionality of CERES_VERSION is provided by
|
|
Packit |
ea1746 |
CERES_VERSION_STRING macro.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Bug Fixes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Do not try the gradient step if TR step line search fails.
|
|
Packit |
ea1746 |
Fix missing include in libmv_bundle_adjuster on OSX.
|
|
Packit |
ea1746 |
Conditionally log evaluation failure warnings.
|
|
Packit |
ea1746 |
Runtime uses four digits after the decimal in Summary:FullReport.
|
|
Packit |
ea1746 |
Better options checking for TrustRegionMinimizer.
|
|
Packit |
ea1746 |
Fix RotationMatrixToAngleAxis when the angle of rotation is near
|
|
Packit |
ea1746 |
PI. (Tobias Strauss)
|
|
Packit |
ea1746 |
Sometimes gradient norm based convergence would miss a step with a
|
|
Packit |
ea1746 |
substantial solution quality improvement. (Rodney Hoskinson)
|
|
Packit |
ea1746 |
Ignore warnings from within Eigen/SparseQR (3.2.2).
|
|
Packit |
ea1746 |
Fix empty Cache HELPSTRING parsing error on OS X 10.10 Yosemite.
|
|
Packit |
ea1746 |
Fix a formatting error TrustRegionMinimizer logging.
|
|
Packit |
ea1746 |
Add an explicit include for local_parameterization.h (cooordz)
|
|
Packit |
ea1746 |
Fix a number of typos in the documentation (Martin Baeuml)
|
|
Packit |
ea1746 |
Made the logging in TrustRegionMinimizer consistent with
|
|
Packit |
ea1746 |
LineSearchMinimizer.
|
|
Packit |
ea1746 |
Fix some obsolete documentation in CostFunction::Evaluate.
|
|
Packit |
ea1746 |
Fix CG solver options for ITERATIVE_SCHUR, which did not copy
|
|
Packit |
ea1746 |
min_num_iterations (Johannes Schönberger)
|
|
Packit |
ea1746 |
Remove obsolete include of numeric_diff_functor.h. (Martin Baeuml)
|
|
Packit |
ea1746 |
Fix max. linear solver iterations in ConjugateGradientsSolver
|
|
Packit |
ea1746 |
(Johannes Schönberger)
|
|
Packit |
ea1746 |
Expand check for lack of a sparse linear algebra library. (Michael
|
|
Packit |
ea1746 |
Samples and Domink Reitzle)
|
|
Packit |
ea1746 |
Fix Eigen Row/ColMajor bug in NumericDiffCostFunction. (Dominik
|
|
Packit |
ea1746 |
Reitzle)
|
|
Packit |
ea1746 |
Fix crash in Covariance if # threads > 1 requested without OpenMP.
|
|
Packit |
ea1746 |
Fixed Malformed regex. (Björn Piltz)
|
|
Packit |
ea1746 |
Fixed MSVC error C2124: divide or mod by zero. (Björn Piltz)
|
|
Packit |
ea1746 |
Add missing #include of <limits> for loss functions.
|
|
Packit |
ea1746 |
Make canned loss functions more robust.
|
|
Packit |
ea1746 |
Fix type of suppressed compiler warning for Eigen 3.2.0.
|
|
Packit |
ea1746 |
Suppress unused variable warning from Eigen 3.2.0.
|
|
Packit |
ea1746 |
Add “make install” to the install instructions.
|
|
Packit |
ea1746 |
Correct formula in documentation of
|
|
Packit |
ea1746 |
Solver::Options::function_tolerance. (Alessandro Gentilini)
|
|
Packit |
ea1746 |
Add release flags to iOS toolchain.
|
|
Packit |
ea1746 |
Fix a broken hyperlink in the documentation. (Henrique Mendonca)
|
|
Packit |
ea1746 |
Add fixes for multiple definitions of ERROR on Windows to docs.
|
|
Packit |
ea1746 |
Compile miniglog into Ceres if enabled on all platforms.
|
|
Packit |
ea1746 |
Add two missing files to Android.mk (Greg Coombe)
|
|
Packit |
ea1746 |
Fix Cmake error when using miniglog. (Greg Coombe)
|
|
Packit |
ea1746 |
Don’t build miniglog unconditionally as a static library (Björn
|
|
Packit |
ea1746 |
Piltz)
|
|
Packit |
ea1746 |
Added a missing include. (Björn Piltz)
|
|
Packit |
ea1746 |
Conditionally disable SparseNormalCholesky.
|
|
Packit |
ea1746 |
Fix a memory leak in program_test.cc.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.9.0¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
New Features¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Bounds constraints: Support for upper and/or lower bounds on
|
|
Packit |
ea1746 |
parameters when using the trust region minimizer.
|
|
Packit |
ea1746 |
Dynamic Sparsity: Problems in which the sparsity structure of the
|
|
Packit |
ea1746 |
Jacobian changes over the course of the optimization can now be
|
|
Packit |
ea1746 |
solved much more efficiently. (Richard Stebbing)
|
|
Packit |
ea1746 |
Improved support for Microsoft Visual C++ including the ability to
|
|
Packit |
ea1746 |
build and ship DLLs. (Björn Piltz, Alex Stewart and Sergey
|
|
Packit |
ea1746 |
Sharybin)
|
|
Packit |
ea1746 |
Support for building on iOS 6.0 or higher (Jack Feng).
|
|
Packit |
ea1746 |
Autogeneration of config.h that captures all the defines used to
|
|
Packit |
ea1746 |
build and use Ceres Solver.
|
|
Packit |
ea1746 |
Simpler and more informative solver termination type
|
|
Packit |
ea1746 |
reporting. (See below for more details)
|
|
Packit |
ea1746 |
New website based entirely on
|
|
Packit |
ea1746 |
Sphinx.
|
|
Packit |
ea1746 |
AutoDiffLocalParameterization allows the use of automatic
|
|
Packit |
ea1746 |
differentiation for defining LocalParameterization objects
|
|
Packit |
ea1746 |
(Alex Stewart)
|
|
Packit |
ea1746 |
LBFGS is faster due to fewer memory copies.
|
|
Packit |
ea1746 |
Parameter blocks are not restricted to be less than 32k in size,
|
|
Packit |
ea1746 |
they can be up to 2G in size.
|
|
Packit |
ea1746 |
Faster SPARSE_NORMAL_CHOLESKY solver when using CX_SPARSE
|
|
Packit |
ea1746 |
as the sparse linear algebra library.
|
|
Packit |
ea1746 |
Added Problem::IsParameterBlockPresent and
|
|
Packit |
ea1746 |
Problem::GetParameterization .
|
|
Packit |
ea1746 |
Added the (2,4,9) and (2,4,8) template specializations.
|
|
Packit |
ea1746 |
An example demonstrating the use of
|
|
Packit |
ea1746 |
DynamicAutoDiffCostFunction. (Joydeep Biswas)
|
|
Packit |
ea1746 |
Homography estimation example from Blender demonstrating the use of
|
|
Packit |
ea1746 |
a custom IterationCallback . (Sergey Sharybin)
|
|
Packit |
ea1746 |
Support user passing a custom CMAKE_MODULE_PATH (for BLAS /
|
|
Packit |
ea1746 |
LAPACK).
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Backward Incompatible API Changes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Solver::Options::linear_solver_ordering used to be a naked
|
|
Packit |
ea1746 |
pointer that Ceres took ownership of. This is error prone behaviour
|
|
Packit |
ea1746 |
which leads to problems when copying the Solver::Options struct
|
|
Packit |
ea1746 |
around. This has been replaced with a shared_ptr to handle
|
|
Packit |
ea1746 |
ownership correctly across copies.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
The enum used for reporting the termination/convergence status of
|
|
Packit |
ea1746 |
the solver has been renamed from SolverTerminationType to
|
|
Packit |
ea1746 |
TerminationType .
|
|
Packit |
ea1746 |
The enum values have also changed. FUNCTION_TOLERANCE ,
|
|
Packit |
ea1746 |
GRADIENT_TOLERANCE and PARAMETER_TOLERANCE have all been
|
|
Packit |
ea1746 |
replaced by CONVERGENCE .
|
|
Packit |
ea1746 |
NUMERICAL_FAILURE has been replaed by FAILURE .
|
|
Packit |
ea1746 |
USER_ABORT has been renamed to USER_FAILURE .
|
|
Packit |
ea1746 |
Further Solver::Summary::error has been renamed to
|
|
Packit |
ea1746 |
Solver::Summary::message . It contains a more detailed
|
|
Packit |
ea1746 |
explanation for why the solver terminated.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Solver::Options::gradient_tolerance used to be a relative
|
|
Packit |
ea1746 |
gradient tolerance. i.e., The solver converged when
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
\[\|g(x)\|_\infty < \text{gradient_tolerance} *
|
|
Packit |
ea1746 |
\|g(x_0)\|_\infty\]
|
|
Packit |
ea1746 |
where \(g(x)\) is the gradient of the objective function at
|
|
Packit |
ea1746 |
\(x\) and \(x_0\) is the parmeter vector at the start of
|
|
Packit |
ea1746 |
the optimization.
|
|
Packit |
ea1746 |
This has changed to an absolute tolerance, i.e. the solver
|
|
Packit |
ea1746 |
converges when
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
\[\|g(x)\|_\infty < \text{gradient_tolerance}\]
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Ceres cannot be built without the line search minimizer
|
|
Packit |
ea1746 |
anymore. Thus the preprocessor define
|
|
Packit |
ea1746 |
CERES_NO_LINE_SEARCH_MINIMIZER has been removed.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Bug Fixes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Disabled warning C4251. (Björn Piltz)
|
|
Packit |
ea1746 |
Do not propagate 3d party libs through
|
|
Packit |
ea1746 |
IMPORTED_LINK_INTERFACE_LIBRARIES_[DEBUG/RELEASE] mechanism when
|
|
Packit |
ea1746 |
building shared libraries. (Björn Piltz)
|
|
Packit |
ea1746 |
Fixed errant verbose levels (Björn Piltz)
|
|
Packit |
ea1746 |
Variety of code cleanups, optimizations and bug fixes to the line
|
|
Packit |
ea1746 |
search minimizer code (Alex Stewart)
|
|
Packit |
ea1746 |
Fixed BlockSparseMatrix::Transpose when the matrix has row and
|
|
Packit |
ea1746 |
column blocks. (Richard Bowen)
|
|
Packit |
ea1746 |
Better error checking when Problem::RemoveResidualBlock is
|
|
Packit |
ea1746 |
called. (Alex Stewart)
|
|
Packit |
ea1746 |
Fixed a memory leak in SchurComplementSolver .
|
|
Packit |
ea1746 |
Added epsilon() method to NumTraits<ceres::Jet<T, N>
|
|
Packit |
ea1746 |
>. (Filippo Basso)
|
|
Packit |
ea1746 |
Fixed a bug in CompressedRowSparseMatrix::AppendRows` and
|
|
Packit |
ea1746 |
DeleteRows .q
|
|
Packit |
ea1746 |
Handle empty problems consistently.
|
|
Packit |
ea1746 |
Restore the state of the Problem after a call to
|
|
Packit |
ea1746 |
Problem::Evaluate . (Stefan Leutenegger)
|
|
Packit |
ea1746 |
Better error checking and reporting for linear solvers.
|
|
Packit |
ea1746 |
Use explicit formula to solve quadratic polynomials instead of the
|
|
Packit |
ea1746 |
eigenvalue solver.
|
|
Packit |
ea1746 |
Fix constant parameter handling in inner iterations (Mikael
|
|
Packit |
ea1746 |
Persson).
|
|
Packit |
ea1746 |
SuiteSparse errors do not cause a fatal crash anymore.
|
|
Packit |
ea1746 |
Fix corrector_test.cc .
|
|
Packit |
ea1746 |
Relax the requirements on loss function derivatives.
|
|
Packit |
ea1746 |
Minor bugfix to logging.h (Scott Ettinger)
|
|
Packit |
ea1746 |
Updated gmock and gtest to the latest upstream version.
|
|
Packit |
ea1746 |
Fix build breakage on old versions of SuiteSparse.
|
|
Packit |
ea1746 |
Fixed build issues related to Clang / LLVM 3.4 (Johannes
|
|
Packit |
ea1746 |
Schönberger)
|
|
Packit |
ea1746 |
METIS_FOUND is never set. Changed the commit to fit the setting of
|
|
Packit |
ea1746 |
the other #._FOUND definitions. (Andreas Franek)
|
|
Packit |
ea1746 |
Variety of bug fixes and cleanups to the CMake build system
|
|
Packit |
ea1746 |
(Alex Stewart)
|
|
Packit |
ea1746 |
Removed fictious shared library target from the NDK build.
|
|
Packit |
ea1746 |
Solver::Options now uses shared_ptr to handle ownership of
|
|
Packit |
ea1746 |
Solver::Options::linear_solver_ordering and
|
|
Packit |
ea1746 |
Solver::Options::inner_iteration_ordering . As a consequence the
|
|
Packit |
ea1746 |
NDK build now depends on libc++ from the LLVM project.
|
|
Packit |
ea1746 |
Variety of lint cleanups (William Rucklidge & Jim Roseborough)
|
|
Packit |
ea1746 |
Various internal cleanups including dead code removal.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.8.0¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
New Features¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Significant improved CMake files with better robustness,
|
|
Packit |
ea1746 |
dependency checking and GUI support. (Alex Stewart)
|
|
Packit |
ea1746 |
Added DynamicNumericDiffCostFunction for numerically
|
|
Packit |
ea1746 |
differentiated cost functions whose sizing is determined at run
|
|
Packit |
ea1746 |
time.
|
|
Packit |
ea1746 |
NumericDiffCostFunction now supports a dynamic number of
|
|
Packit |
ea1746 |
residuals just like AutoDiffCostFunction .
|
|
Packit |
ea1746 |
Problem exposes more of its structure in its API.
|
|
Packit |
ea1746 |
Faster automatic differentiation (Tim Langlois)
|
|
Packit |
ea1746 |
Added the commonly occuring 2_d_d template specialization for
|
|
Packit |
ea1746 |
the Schur Eliminator.
|
|
Packit |
ea1746 |
Faster ITERATIVE_SCHUR solver using template specializations.
|
|
Packit |
ea1746 |
Faster SCHUR_JACOBI preconditioner construction.
|
|
Packit |
ea1746 |
Faster AngleAxisRotatePoint .
|
|
Packit |
ea1746 |
Faster Jacobian evaluation when a loss function is used.
|
|
Packit |
ea1746 |
Added support for multiple clustering algorithms in visibility
|
|
Packit |
ea1746 |
based preconditioning, including a new fast single linkage
|
|
Packit |
ea1746 |
clustering algorithm.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Bug Fixes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Fix ordering of ParseCommandLineFlags() & InitGoogleTest() for
|
|
Packit |
ea1746 |
Windows. (Alex Stewart)
|
|
Packit |
ea1746 |
Remove DCHECK_GE checks from fixed_array.h.
|
|
Packit |
ea1746 |
Fix build on MSVC 2013 (Petter Strandmark)
|
|
Packit |
ea1746 |
Fixed AngleAxisToRotationMatrix near zero.
|
|
Packit |
ea1746 |
Move CERES_HASH_NAMESPACE macros to collections_port.h .
|
|
Packit |
ea1746 |
Fix handling of unordered_map/unordered_set on OSX 10.9.0.
|
|
Packit |
ea1746 |
Explicitly link to libm for curve_fitting_c.c . (Alex Stewart)
|
|
Packit |
ea1746 |
Minor type conversion fix to autodiff.h
|
|
Packit |
ea1746 |
Remove RuntimeNumericDiffCostFunction.
|
|
Packit |
ea1746 |
Fix operator= ambiguity on some versions of Clang. (Alex Stewart)
|
|
Packit |
ea1746 |
Various Lint cleanups (William Rucklidge & Jim Roseborough)
|
|
Packit |
ea1746 |
Modified installation folders for Windows. (Pablo Speciale)
|
|
Packit |
ea1746 |
Added librt to link libraries for SuiteSparse_config on
|
|
Packit |
ea1746 |
Linux. (Alex Stewart)
|
|
Packit |
ea1746 |
Check for presence of return-type-c-linkage option with
|
|
Packit |
ea1746 |
Clang. (Alex Stewart)
|
|
Packit |
ea1746 |
Fix Problem::RemoveParameterBlock after calling solve. (Simon
|
|
Packit |
ea1746 |
Lynen)
|
|
Packit |
ea1746 |
Fix a free/delete bug in covariance_impl.cc
|
|
Packit |
ea1746 |
Fix two build errors. (Dustin Lang)
|
|
Packit |
ea1746 |
Add RequireInitialization = 1 to NumTraits::Jet.
|
|
Packit |
ea1746 |
Update gmock/gtest to 1.7.0
|
|
Packit |
ea1746 |
Added IterationSummary::gradient_norm.
|
|
Packit |
ea1746 |
Reduced verbosity of the inner iteration minimizer.
|
|
Packit |
ea1746 |
Fixed a bug in TrustRegionMinimizer. (Michael Vitus)
|
|
Packit |
ea1746 |
Removed android/build_android.sh.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.7.0¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Backward Incompatible API Changes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Solver::Options::sparse_linear_algebra_library has been renamed
|
|
Packit |
ea1746 |
to Solver::Options::sparse_linear_algebra_library_type .
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
New Features¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Sparse and dense covariance estimation.
|
|
Packit |
ea1746 |
A new Wolfe line search. (Alex Stewart)
|
|
Packit |
ea1746 |
BFGS line search direction. (Alex Stewart)
|
|
Packit |
ea1746 |
C API
|
|
Packit |
ea1746 |
Speeded up the use of loss functions > 17x.
|
|
Packit |
ea1746 |
Faster DENSE_QR , DENSE_NORMAL_CHOLESKY and DENSE_SCHUR
|
|
Packit |
ea1746 |
solvers.
|
|
Packit |
ea1746 |
Support for multiple dense linear algebra backends. In particular
|
|
Packit |
ea1746 |
optimized BLAS and LAPACK implementations (e.g., Intel MKL,
|
|
Packit |
ea1746 |
ACML, OpenBLAS etc) can now be used to do the dense linear algebra
|
|
Packit |
ea1746 |
for DENSE_QR , DENSE_NORMAL_CHOLESKY and DENSE_SCHUR
|
|
Packit |
ea1746 |
Use of Inner iterations can now be adaptively stopped. Iteration
|
|
Packit |
ea1746 |
and runtime statistics for inner iterations are not reported in
|
|
Packit |
ea1746 |
Solver::Summary and Solver::Summary::FullReport .
|
|
Packit |
ea1746 |
Improved inner iteration step acceptance criterion.
|
|
Packit |
ea1746 |
Add BlockRandomAccessCRSMatrix.
|
|
Packit |
ea1746 |
Speeded up automatic differentiation by 7%.
|
|
Packit |
ea1746 |
Bundle adjustment example from libmv/Blender (Sergey Sharybin)
|
|
Packit |
ea1746 |
Shared library building is now controlled by CMake, rather than a
|
|
Packit |
ea1746 |
custom solution. Previously, Ceres had a custom option, but this is
|
|
Packit |
ea1746 |
now deprecated in favor of CMake’s built in support for switching
|
|
Packit |
ea1746 |
between static and shared. Turn on BUILD_SHARED_LIBS to get shared
|
|
Packit |
ea1746 |
Ceres libraries.
|
|
Packit |
ea1746 |
No more dependence on Protocol Buffers.
|
|
Packit |
ea1746 |
Incomplete LQ factorization.
|
|
Packit |
ea1746 |
Ability to write trust region problems to disk.
|
|
Packit |
ea1746 |
Add sinh, cosh, tanh and tan functions to automatic differentiation
|
|
Packit |
ea1746 |
(Johannes Schönberger)
|
|
Packit |
ea1746 |
Simplifications to the cmake build file.
|
|
Packit |
ea1746 |
miniglog can now be used as a replacement for google-glog
|
|
Packit |
ea1746 |
on non Android platforms. (This is NOT recommended).
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Bug Fixes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Fix ITERATIVE_SCHUR solver to work correctly when the schur
|
|
Packit |
ea1746 |
complement is of size zero. (Soohyun Bae)
|
|
Packit |
ea1746 |
Fix the spec file for generating RPM packages (Brian Pitts
|
|
Packit |
ea1746 |
and Taylor Braun-Jones).
|
|
Packit |
ea1746 |
Fix how ceres calls CAMD (Manas Jagadev)
|
|
Packit |
ea1746 |
Fix breakage on old versions of SuiteSparse. (Fisher Yu)
|
|
Packit |
ea1746 |
Fix warning C4373 in Visual Studio (Petter Strandmark)
|
|
Packit |
ea1746 |
Fix compilation error caused by missing suitesparse headers and
|
|
Packit |
ea1746 |
reorganize them to be more robust. (Sergey Sharybin)
|
|
Packit |
ea1746 |
Check GCC Version before adding -fast compiler option on
|
|
Packit |
ea1746 |
OSX. (Steven Lovegrove)
|
|
Packit |
ea1746 |
Add documentation for minimizer progress output.
|
|
Packit |
ea1746 |
Lint and other cleanups (William Rucklidge and James Roseborough)
|
|
Packit |
ea1746 |
Collections port fix for MSC 2008 (Sergey Sharybin)
|
|
Packit |
ea1746 |
Various corrections and cleanups in the documentation.
|
|
Packit |
ea1746 |
Change the path where CeresConfig.cmake is installed (Pablo
|
|
Packit |
ea1746 |
Speciale)
|
|
Packit |
ea1746 |
Minor errors in documentation (Pablo Speciale)
|
|
Packit |
ea1746 |
Updated depend.cmake to follow CMake IF convention. (Joydeep
|
|
Packit |
ea1746 |
Biswas)
|
|
Packit |
ea1746 |
Stablize the schur ordering algorithm.
|
|
Packit |
ea1746 |
Update license header in split.h.
|
|
Packit |
ea1746 |
Enabling -O4 (link-time optimization) only if compiler/linker
|
|
Packit |
ea1746 |
support it. (Alex Stewart)
|
|
Packit |
ea1746 |
Consistent glog path across files.
|
|
Packit |
ea1746 |
ceres-solver.spec: Use cleaner, more conventional Release string
|
|
Packit |
ea1746 |
(Taylor Braun-Jones)
|
|
Packit |
ea1746 |
Fix compile bug on RHEL6 due to missing header (Taylor Braun-Jones)
|
|
Packit |
ea1746 |
CMake file is less verbose.
|
|
Packit |
ea1746 |
Use the latest upstream version of google-test and gmock.
|
|
Packit |
ea1746 |
Rationalize some of the variable names in Solver::Options .
|
|
Packit |
ea1746 |
Improve Summary::FullReport when line search is used.
|
|
Packit |
ea1746 |
Expose line search parameters in Solver::Options .
|
|
Packit |
ea1746 |
Fix update of L-BFGS history buffers after they become full. (Alex
|
|
Packit |
ea1746 |
Stewart)
|
|
Packit |
ea1746 |
Fix configuration error on systems without SuiteSparse installed
|
|
Packit |
ea1746 |
(Sergey Sharybin)
|
|
Packit |
ea1746 |
Enforce the read call returns correct value in
|
|
Packit |
ea1746 |
curve_fitting_c.c (Arnaud Gelas)
|
|
Packit |
ea1746 |
Fix DynamicAutoDiffCostFunction (Richard Stebbing)
|
|
Packit |
ea1746 |
Fix Problem::RemoveParameterBlock documentation (Johannes
|
|
Packit |
ea1746 |
Schönberger)
|
|
Packit |
ea1746 |
Fix a logging bug in parameter_block.h
|
|
Packit |
ea1746 |
Refactor the preconditioner class structure.
|
|
Packit |
ea1746 |
Fix an uninitialized variable warning when building with GCC .
|
|
Packit |
ea1746 |
Fix a reallocation bug in
|
|
Packit |
ea1746 |
CreateJacobianBlockSparsityTranspose . (Yuliy Schwartzburg)
|
|
Packit |
ea1746 |
Add a define for O_BINARY.
|
|
Packit |
ea1746 |
Fix miniglog-based Android NDK build; now works with NDK r9. (Scott
|
|
Packit |
ea1746 |
Ettinger)
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.6.0¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
New Features¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Major Performance improvements.
|
|
Packit |
ea1746 |
Schur type solvers (SPARSE_SCHUR , DENSE_SCHUR ,
|
|
Packit |
ea1746 |
ITERATIVE_SCHUR ) are significantly faster due to custom BLAS
|
|
Packit |
ea1746 |
routines and fewer heap allocations.
|
|
Packit |
ea1746 |
SPARSE_SCHUR when used with CX_SPARSE now uses a block
|
|
Packit |
ea1746 |
AMD for much improved factorization performance.
|
|
Packit |
ea1746 |
The jacobian matrix is pre-ordered so that
|
|
Packit |
ea1746 |
SPARSE_NORMAL_CHOLESKY and SPARSE_SCHUR do not have to
|
|
Packit |
ea1746 |
make copies inside CHOLMOD .
|
|
Packit |
ea1746 |
Faster autodiff by replacing division by multplication by inverse.
|
|
Packit |
ea1746 |
When compiled without threads, the schur eliminator does not pay
|
|
Packit |
ea1746 |
the penalty for locking and unlocking mutexes.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Users can now use linear_solver_ordering to affect the
|
|
Packit |
ea1746 |
fill-reducing ordering used by SUITE_SPARSE for
|
|
Packit |
ea1746 |
SPARSE_NORMAL_CHOLESKY .
|
|
Packit |
ea1746 |
Problem can now report the set of parameter blocks it knows about.
|
|
Packit |
ea1746 |
TrustRegionMinimizer uses the evaluator to compute the gradient
|
|
Packit |
ea1746 |
instead of a matrix vector multiply.
|
|
Packit |
ea1746 |
On Mac OS , whole program optimization is enabled.
|
|
Packit |
ea1746 |
Users can now use automatic differentiation to define new
|
|
Packit |
ea1746 |
LocalParameterization objects. (Sergey Sharybin)
|
|
Packit |
ea1746 |
Enable larger tuple sizes for Visual Studio 2012. (Petter Strandmark)
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Bug Fixes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Update the documentation for CostFunction .
|
|
Packit |
ea1746 |
Fixed a typo in the documentation. (Pablo Speciale)
|
|
Packit |
ea1746 |
Fix a typo in suitesparse.cc.
|
|
Packit |
ea1746 |
Bugfix in NumericDiffCostFunction . (Nicolas Brodu)
|
|
Packit |
ea1746 |
Death to BlockSparseMatrixBase.
|
|
Packit |
ea1746 |
Change Minimizer::Options::min_trust_region_radius to double.
|
|
Packit |
ea1746 |
Update to compile with stricter gcc checks. (Joydeep Biswas)
|
|
Packit |
ea1746 |
Do not modify cached CMAKE_CXX_FLAGS_RELEASE. (Sergey Sharybin)
|
|
Packit |
ea1746 |
<iterator> needed for back_insert_iterator. (Petter Strandmark)
|
|
Packit |
ea1746 |
Lint cleanup. (William Rucklidge)
|
|
Packit |
ea1746 |
Documentation corrections. (Pablo Speciale)
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
1.5.0¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Backward Incompatible API Changes¶
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Added Problem::Evaluate . Now you can evaluate a problem or any
|
|
Packit |
ea1746 |
part of it without calling the solver.
|
|
Packit |
ea1746 |
In light of this the following settings have been deprecated and
|
|
Packit |
ea1746 |
removed from the API.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Solver::Options::return_initial_residuals
|
|
Packit |
ea1746 |
Solver::Options::return_initial_gradient
|
|
Packit |
ea1746 |
Solver::Options::return_initial_jacobian
|
|
Packit |
ea1746 |
Solver::Options::return_final_residuals
|
|
Packit |
ea1746 |
Solver::Options::return_final_gradient
|
|
Packit |
ea1746 |
Solver::Options::return_final_jacobian
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Instead we recommend using something like this.
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
// Build problem
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
vector<double> initial_residuals;
|
|
Packit |
ea1746 |
problem.Evaluate(Problem::EvaluateOptions(),
|
|
Packit |
ea1746 |
NULL, /* No cost */
|
|
Packit |
ea1746 |
&initial_residuals,
|
|
Packit |
ea1746 |
NULL, /* No gradient */
|
|
Packit |
ea1746 |
NULL /* No jacobian */ );
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
Solver::Options options;
|
|
Packit |
ea1746 |
Solver::Summary summary;
|
|
Packit |
ea1746 |
Solver::Solve(options, &problem, &summary);
|
|
Packit |
ea1746 |
|
|
Packit |
ea1746 |
vector<double> final_residuals;
|
|
Packit |
ea1746 |
problem.Evaluate(Problem::EvaluateOptions(),
|
|
Packit |
ea1746 |
NULL, /* No cost */
|
|
Packit |
ea1746 |
&final_residuals,
|
|
Packit |
ea1746 |
NULL, /* No gradient */
|
|
Packit |
ea1746 |
NULL /* No jacobian */ );
|