Blame docs/html/version_history.html

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
                                          1. LineSearchMinimizer and GradientProblemSolver are up to 2x
                                          2. Packit ea1746
                                            faster due to fewer function evaluations. (Sameer Agarwal)
                                            Packit ea1746
                                          3. SPARSE_NORMAL_CHOLESKY is significantly faster because Ceres
                                          4. Packit ea1746
                                            now computes the normal equations exploiting the static block
                                            Packit ea1746
                                            sparsity structure. (Cheng Wang & Sameer Agarwal)
                                            Packit ea1746
                                          5. Add compound with scalar operators for Jets. (Alex Stewart)
                                          6. Packit ea1746
                                          7. Enable support for AVX instructions for Jets. (Alex Stewart)
                                          8. 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
                                            1. Fix InvertPSDMatrix as it was triggering an Eigen assert in
                                            2. Packit ea1746
                                              Debug mode. (Philipp Hubner)
                                              Packit ea1746
                                            3. Fix cmake error from CeresConfig.cmake when Ceres not found (Taylor
                                            4. Packit ea1746
                                              Braun-Jones)
                                              Packit ea1746
                                            5. Completely refactored SparseNormalCholeskySolver. (Sameer
                                            6. Packit ea1746
                                              Agarwal)
                                              Packit ea1746
                                            7. Fixed time reporting in Summary::FullReport when
                                            8. Packit ea1746
                                              LineSearchMinimizer is used. (Sameer Agarwal)
                                              Packit ea1746
                                            9. Remove unused file: collections_port.cc. (Sameer Agarwal)
                                            10. Packit ea1746
                                            11. SPARSE_SCHUR + CX_SPARSE = Faster (Sameer Agarwal)
                                            12. Packit ea1746
                                            13. Refactored a number of linear solver tests to be more thorough and
                                            14. Packit ea1746
                                              informative. (Sameer Agarwal)
                                              Packit ea1746
                                            15. Pass user-specified search hints as HINTS not PATHS. (Alex Stewart)
                                            16. Packit ea1746
                                            17. Prefer Eigen installs over exported build directories. (Alex
                                            18. Packit ea1746
                                              Stewart)
                                              Packit ea1746
                                            19. Add OpenMP flags when compiling for C if enabled. (Alex Stewart)
                                            20. Packit ea1746
                                            21. Add a missing CERES_EXPORT to GradientChecker (Sameer Agarwal)
                                            22. Packit ea1746
                                            23. Use target_compile_features() to specify C++11 requirement if
                                            24. Packit ea1746
                                              available. (Alex Stewart)
                                              Packit ea1746
                                            25. Update docs: .netrc –> .gitcookies (Keir Mierle)
                                            26. Packit ea1746
                                            27. Fix implicit precission loss warning on 64-bit archs (Ricardo
                                            28. Packit ea1746
                                              Sanchez-Saez)
                                              Packit ea1746
                                            29. Optionally use exported Eigen CMake configuration if
                                            30. Packit ea1746
                                              available. (Alex Stewart)
                                              Packit ea1746
                                            31. Use Ceres_[SOURCE/BINARY]_DIR not CMAKE_XXX_DIR to support
                                            32. Packit ea1746
                                              nesting. (Alex Stewart)
                                              Packit ea1746
                                            33. Update Problem::EvaluateOptions documentation. (Sameer Agarwal)
                                            34. Packit ea1746
                                            35. Add public headers to CMake target for IDEs. (Devin Lane)
                                            36. Packit ea1746
                                            37. Add an article on interfacing with automatic
                                            38. Packit ea1746
                                              differentiation. (Sameer Agarwal)
                                              Packit ea1746
                                            39. Add default Fedora/Debian locations for CXSparse to search
                                            40. Packit ea1746
                                              paths. (Alex Stewart)
                                              Packit ea1746
                                            41. Add a test for LineSearchMinimizer (Sameer Agarwal)
                                            42. Packit ea1746
                                            43. Flatten the table of contents. (Sameer Agarwal)
                                            44. Packit ea1746
                                            45. Fix when LineSearchMinimizer adds the IterationSummary` to
                                            46. Packit ea1746
                                              Solver::Summary (Sameer Agarwal)
                                              Packit ea1746
                                            47. Fix search path for miniglog headers when Ceres is exported. (Alex
                                            48. Packit ea1746
                                              Stewart)
                                              Packit ea1746
                                            49. Fix ambiguous reference to WARNING when using miniglog. (Alex
                                            50. Packit ea1746
                                              Stewart)
                                              Packit ea1746
                                            51. Fix Jet/Eigen compatibility for Eigen > 3.3 (Julien Pilet)
                                            52. Packit ea1746
                                            53. Add max severity option when MINIGLOG is enabled (Taylor
                                            54. Packit ea1746
                                              Braun-Jones)
                                              Packit ea1746
                                            55. Improvements to Schur template specializations (Sameer Agarwal)
                                            56. Packit ea1746
                                            57. Added an article on derivatives (Sameer Agarwal)
                                            58. Packit ea1746
                                            59. Require Eigen >= 3.3 to define ScalarBinaryOpTraits in Jet. (Alex
                                            60. Packit ea1746
                                              Stewart)
                                              Packit ea1746
                                            61. A hacky fix for the Eigen::FullPivLU changes. (Sameer Agarwal)
                                            62. Packit ea1746
                                            63. Specify ScalarBinaryOpTraits for Jet types. (Chris Sweeney)
                                            64. Packit ea1746
                                            65. Remove spurious conversion from doubles to Jets. (Sameer Agarwal)
                                            66. Packit ea1746
                                            67. Fix an error in the tutorial code for NumericDiffCostFunction
                                            68. Packit ea1746
                                              (Sameer Agarwal)
                                              Packit ea1746
                                            69. CERES_EXPORT fix to compile Ceres as DLL (Je Hyeong Hong)
                                            70. Packit ea1746
                                            71. Fix detection of deprecated Bessel function names on MSVC. (Alex
                                            72. Packit ea1746
                                              Stewart)
                                              Packit ea1746
                                            73. Ensure that partial evaluation of residuals triggers an error
                                            74. Packit ea1746
                                              (Sameer Agarwal)
                                              Packit ea1746
                                            75. Fix detection of CMake-built glog on Windows. (Alex Stewart)
                                            76. Packit ea1746
                                            77. Add additional search paths for glog & Eigen on Windows. (Alex
                                            78. Packit ea1746
                                              Stewart)
                                              Packit ea1746
                                            79. Various minor grammar and bug fixes to the documentation (Sameer
                                            80. 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
                                              1. Aligned Jet matrices for improved automatic differentiation
                                              2. Packit ea1746
                                                performance. (Andrew Hunter)
                                                Packit ea1746
                                              3. Auto-differentiable implementations of Bessel functions, floor,
                                              4. Packit ea1746
                                                and ceil (Alessandro Gentilini & Michael Vitus)
                                                Packit ea1746
                                              5. New 2D and 3D SLAM examples. (Michael Vitus)
                                              6. Packit ea1746
                                              7. Added EigenQuaternionParameterization. (Michael Vitus)
                                              8. Packit ea1746
                                              9. Added Problem::IsParameterBlockConstant (Thomas Schneider)
                                              10. Packit ea1746
                                              11. A complete refactoring of TrustRegionMinimizer. (Sameer Agarwal)
                                              12. Packit ea1746
                                              13. Gradient checking cleanup and local parameterization bugfix (David
                                              14. Packit ea1746
                                                Gossow)
                                                Packit ea1746
                                                Packit ea1746
                                                Packit ea1746
                                                Packit ea1746

                                                Backward Incompatible API Changes

                                                Packit ea1746
                                                  Packit ea1746
                                                1. Solver::Options::numeric_derivative_relative_step_size has been
                                                2. 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
                                                  1. Clear XXX_FOUND in Find<XXX>.cmake prior to searching. (Alex
                                                  2. Packit ea1746
                                                    Stewart)
                                                    Packit ea1746
                                                  3. Fix versioning in the documentation (Sameer Agarwal)
                                                  4. Packit ea1746
                                                  5. Fix missing gflags imported target definition in
                                                  6. Packit ea1746
                                                    CeresConfig.cmake. (Alex Stewart)
                                                    Packit ea1746
                                                  7. Make gflags a public dependency of Ceres if it and glog are
                                                  8. Packit ea1746
                                                    found. (Alex Stewart)
                                                    Packit ea1746
                                                  9. Add support for glog exported CMake target. (Alex Stewart)
                                                  10. Packit ea1746
                                                  11. Use google::GLOG_WARNING instead of WARNING in tests to
                                                  12. Packit ea1746
                                                    support MSVC. (Alex Stewart)
                                                    Packit ea1746
                                                  13. Update gtest and gmock to
                                                  14. Packit ea1746
                                                    a2b8a8e07628e5fd60644b6dd99c1b5e7d7f1f47 (Sameer Agarwal)
                                                    Packit ea1746
                                                  15. Add MSVC-specific #define to expose math constants in
                                                  16. Packit ea1746
                                                    <cmath>. (Alex Stewart)
                                                    Packit ea1746
                                                  17. Fix typo. indepdendent -> independent (Hung Lun)
                                                  18. Packit ea1746
                                                  19. Fix potential invalid reset of CMAKE_FIND_LIBRARY_PREFIXES on MSVC
                                                  20. Packit ea1746
                                                    (Alex Stewart)
                                                    Packit ea1746
                                                  21. Fix use of alignas(0) which is not ignored on GCC (Alex Stewart)
                                                  22. Packit ea1746
                                                  23. Use default alignment if alignof(std::max_align_t) < 16 with C++11
                                                  24. Packit ea1746
                                                    (Alex Stewart)
                                                    Packit ea1746
                                                  25. Introduce a common base class for DynamicAutoDiffCostFunction and
                                                  26. Packit ea1746
                                                    DynamicNumericDiffCostFunction. (Sameer Agarwal)
                                                    Packit ea1746
                                                  27. Fix an exact equality test causing breakage in
                                                  28. Packit ea1746
                                                    gradient_checker_test. (Sameer Agarwal)
                                                    Packit ea1746
                                                  29. Add GradientProblemSolver::Options::parameter_tolerance. (Sameer
                                                  30. Packit ea1746
                                                    Agarwal)
                                                    Packit ea1746
                                                  31. Add missing T() wrappers for constants. (Rob Carroll)
                                                  32. Packit ea1746
                                                  33. Remove two checks from rotation.h (Sameer Agarwal)
                                                  34. Packit ea1746
                                                  35. Relax the tolerance in QuaternionParameterizationTestHelper. (Je
                                                  36. Packit ea1746
                                                    Hyeong Hong)
                                                    Packit ea1746
                                                  37. Occured -> Occurred. (Sameer Agarwal)
                                                  38. Packit ea1746
                                                  39. Fix a test error in autodiff_test.cc. (Je Hyeong Hong)
                                                  40. Packit ea1746
                                                  41. Fix documentation source for templated function in rotation.h.
                                                  42. Packit ea1746
                                                  43. Add package.xml to enable Catkin builds. (Damon Kohler)
                                                  44. Packit ea1746
                                                  45. Relaxing Jacobian matching in Gradient Checker test. (David Gossow)
                                                  46. Packit ea1746
                                                  47. Allow SubsetParameterization to hold all parameters constant
                                                  48. Packit ea1746
                                                    (Sameer Agarwal)
                                                    Packit ea1746
                                                  49. Fix an Intel compiler error in covariance_impl.cc (Je Hyeong Hong)
                                                  50. Packit ea1746
                                                  51. Removing duplicate include directive. (David Gossow)
                                                  52. Packit ea1746
                                                  53. Remove two DCHECKs from CubicHermiteSpline. (Sameer Agarwal)
                                                  54. Packit ea1746
                                                  55. Fix some compiler warnings. (Richard Trieu)
                                                  56. Packit ea1746
                                                  57. Update ExpectArraysClose to use ExpectClose instead of
                                                  58. Packit ea1746
                                                    EXPECT_NEAR. (Phillip Hubner)
                                                    Packit ea1746
                                                  59. FindWithDefault returns by value rather than reference. (@aradval)
                                                  60. Packit ea1746
                                                  61. Fix compiler errors on some systems. (David Gossow)
                                                  62. Packit ea1746
                                                  63. Note that Problem::Evaluate cannot be called from an
                                                  64. Packit ea1746
                                                    IterationCallback. (Sameer Agarwal)
                                                    Packit ea1746
                                                  65. Use ProductParameterization in bundle_adjuster.cc (Sameer Agarwal)
                                                  66. Packit ea1746
                                                  67. Enable support for OpenMP in Clang if detected. (Alex Stewart)
                                                  68. Packit ea1746
                                                  69. Remove duplicate entry for the NIST example in the docs. (Michael
                                                  70. Packit ea1746
                                                    Vitus)
                                                    Packit ea1746
                                                  71. Add additional logging for analyzing orderings (Sameer Agarwal)
                                                  72. Packit ea1746
                                                  73. Add readme for the sampled_function example. (Michael Vitus)
                                                  74. Packit ea1746
                                                  75. Use _j[0,1,n]() Bessel functions on MSVC to avoid deprecation
                                                  76. Packit ea1746
                                                    errors. (Alex Stewart & Kichang Kim)
                                                    Packit ea1746
                                                  77. Fix: Copy minimizer option is_silent to
                                                  78. Packit ea1746
                                                    LineSearchDirection::Options (Nicolai Wojke)
                                                    Packit ea1746
                                                  79. Fix typos in users.rst (Sameer Agarwal)
                                                  80. Packit ea1746
                                                  81. Make some Jet comparisons exact. (Sameer Agarwal)
                                                  82. Packit ea1746
                                                  83. Add colmap to users.rst (Sameer Agarwal)
                                                  84. Packit ea1746
                                                  85. Fix step norm evaluation in LineSearchMinimizer (Sameer Agarwal)
                                                  86. Packit ea1746
                                                  87. Remove use of -Werror when compiling Ceres. (Alex Stewart)
                                                  88. Packit ea1746
                                                  89. Report Ceres compile options as components in find_package(). (Alex
                                                  90. Packit ea1746
                                                    Stewart)
                                                    Packit ea1746
                                                  91. Fix a spelling error in nnls_modeling.rst (Timer)
                                                  92. Packit ea1746
                                                  93. Only use collapse() directive with OpenMP 3.0 or higher. (Keir
                                                  94. Packit ea1746
                                                    Mierle)
                                                    Packit ea1746
                                                  95. Fix install path for CeresConfig.cmake to be architecture-aware.
                                                  96. Packit ea1746
                                                  97. Fix double conversion to degrees in rotation_test (Keir Mierle)
                                                  98. Packit ea1746
                                                  99. Make Jet string output more readable (Keir Mierle)
                                                  100. Packit ea1746
                                                  101. Fix rotation_test IsClose() and related tests (Keir Mierle)
                                                  102. Packit ea1746
                                                  103. Loosen an exact equality in local_parameterization_test (Sameer
                                                  104. Packit ea1746
                                                    Agarwal)
                                                    Packit ea1746
                                                  105. make_docs: Pass the file encoding to open() (Niels Ole Salscheider)
                                                  106. Packit ea1746
                                                  107. Fix error message returned when using SUITE_SPARSE_QR in covariance
                                                  108. Packit ea1746
                                                    estimation on a ceres built without SuiteSparse support. (Simon
                                                    Packit ea1746
                                                    Rutishauser)
                                                    Packit ea1746
                                                  109. Fix CXX11 option to be available on MinGW & CygWin, but not
                                                  110. Packit ea1746
                                                    MSVC. (Alex Stewart)
                                                    Packit ea1746
                                                  111. Fix missing early return() in xxx_not_found() dependency
                                                  112. Packit ea1746
                                                    macros. (Alex Stewart)
                                                    Packit ea1746
                                                  113. Initialize inner_iterations_were_useful_ correctly. (Sameer
                                                  114. Packit ea1746
                                                    Agarwal)
                                                    Packit ea1746
                                                  115. Add an implementation for GradientProblemSolver::Options::IsValid
                                                  116. Packit ea1746
                                                    (Sameer Agarwal)
                                                    Packit ea1746
                                                  117. Fix use of va_copy() if compiling with explicit C++ version <
                                                  118. Packit ea1746
                                                    C++11. (Alex Stewart)
                                                    Packit ea1746
                                                  119. Install CMake files to lib/cmake/Ceres (Niels Ole Salscheider)
                                                  120. Packit ea1746
                                                  121. Allow users to override the documentation install directory. (Niels
                                                  122. Packit ea1746
                                                    Ole Salscheider)
                                                    Packit ea1746
                                                  123. Add covariance matrix for a vector of parameters (Wannes Van Loock)
                                                  124. Packit ea1746
                                                  125. Saner tolerances & stricter LRE test. (Sameer Agarwal)
                                                  126. Packit ea1746
                                                  127. Fix a malformed sentence in the tutorial. (Sameer Agarwal)
                                                  128. Packit ea1746
                                                  129. Add logging for sparse Cholesky factorization using Eigen. (Sameer
                                                  130. Packit ea1746
                                                    Agarwal)
                                                    Packit ea1746
                                                  131. Use std::adjacent_find instead of std::unique. (Sameer Agarwal)
                                                  132. Packit ea1746
                                                  133. Improve logging in CompressedRowJacobianWriter on crash. (Sameer
                                                  134. Packit ea1746
                                                    Agarwal)
                                                    Packit ea1746
                                                  135. Fix free parameter block handling in covariance computation (Wannes
                                                  136. Packit ea1746
                                                    Van Loock)
                                                    Packit ea1746
                                                  137. Report the number of line search steps in FullReport. (Sameer
                                                  138. Packit ea1746
                                                    Agarwal)
                                                    Packit ea1746
                                                  139. Make CMake read Ceres version directly from
                                                  140. Packit ea1746
                                                    include/ceres/version.h. (Alex Stewart)
                                                    Packit ea1746
                                                  141. Lots of code style/lint changes. (William Rucklidge)
                                                  142. Packit ea1746
                                                  143. Fix covariance computation for constant blocks (Wannes Van Loock)
                                                  144. Packit ea1746
                                                  145. Add IOS_DEPLOYMENT_TARGET variable to iOS.cmake (Eduard Feicho)
                                                  146. Packit ea1746
                                                  147. Make miniglog threadsafe on non-windows system by using
                                                  148. 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
                                                    1. Adaptive numeric differentiation using Ridders’ method. (Tal
                                                    2. Packit ea1746
                                                      Ben-Nun)
                                                      Packit ea1746
                                                    3. Add CubicInterpolator and BiCubicInterpolator to allow
                                                    4. Packit ea1746
                                                      smooth interpolation of sampled functions and integration with
                                                      Packit ea1746
                                                      automatic differentiation.
                                                      Packit ea1746
                                                    5. Add method to return covariance in tangent space. (Michael Vitus &
                                                    6. Packit ea1746
                                                      Steve Hsu)
                                                      Packit ea1746
                                                    7. Add Homogeneous vector parameterization. (Michael Vitus)
                                                    8. Packit ea1746
                                                    9. Add a ProductParameterization, a local parameterization that
                                                    10. Packit ea1746
                                                      can be constructed as a cartesian product of other local
                                                      Packit ea1746
                                                      parameterization.
                                                      Packit ea1746
                                                    11. Add DynamicCostFunctionToFunctor. (David Gossow)
                                                    12. Packit ea1746
                                                    13. Optionally export Ceres build directory into local CMake package
                                                    14. Packit ea1746
                                                      registry.
                                                      Packit ea1746
                                                    15. Faster SPARSE_NORMAL_CHOLESKY in the presence of dynamic
                                                    16. Packit ea1746
                                                      sparsity.
                                                      Packit ea1746
                                                      Packit ea1746
                                                      Packit ea1746
                                                      Packit ea1746

                                                      Bug Fixes & Minor Changes

                                                      Packit ea1746
                                                        Packit ea1746
                                                      1. Remove use of link-time optimisation (LTO) for all compilers due to
                                                      2. 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
                                                      3. Use link-time optimisation (LTO) only when compiling Ceres itself,
                                                      4. Packit ea1746
                                                        not tests or examples, to bypass gtest / type_info::operator==
                                                        Packit ea1746
                                                        issue.
                                                        Packit ea1746
                                                      5. Use old minimum iOS version flags on Xcode < 7.0.
                                                      6. Packit ea1746
                                                      7. Add gtest-specific flags when building/using as a shared library.
                                                      8. Packit ea1746
                                                      9. Clean up iOS.cmake to use xcrun/xcodebuild & libtool.
                                                      10. Packit ea1746
                                                      11. Import the latest version of googletest.
                                                      12. Packit ea1746
                                                      13. Refactored system_test into bundle_adjustment_test and
                                                      14. Packit ea1746
                                                        system_test, where each test case is its own test.
                                                        Packit ea1746
                                                      15. Fix invalid memory access bug in
                                                      16. Packit ea1746
                                                        CompressedRowSparseMatrix::AppendRows when it was called with a
                                                        Packit ea1746
                                                        matrix of size zero.
                                                        Packit ea1746
                                                      17. Build position independent code when compiling Ceres statically
                                                      18. Packit ea1746
                                                        (Alexander Alekhin).
                                                        Packit ea1746
                                                      19. Fix a bug in DetectStructure (Johannes Schonberger).
                                                      20. Packit ea1746
                                                      21. Reduce memory footprint of SubsetParameterization (Johannes
                                                      22. Packit ea1746
                                                        Schonberger).
                                                        Packit ea1746
                                                      23. Fix for reorder program unit test when built without suitesparse
                                                      24. Packit ea1746
                                                        (Sergey Sharybin).
                                                        Packit ea1746
                                                      25. Fix a bug in the Schur eliminator (Werner Trobin).
                                                      26. Packit ea1746
                                                      27. Fix a bug in the reordering code (Bernhard Zeisl).
                                                      28. Packit ea1746
                                                      29. Add missing CERES_EXPORT to ComposedLoss (Simon Rutishauser).
                                                      30. Packit ea1746
                                                      31. Add the option to use numeric differentiation to nist and
                                                      32. Packit ea1746
                                                        more_garbow_hillstrom.
                                                        Packit ea1746
                                                      33. Fix EIGENSPARSE option help s/t it displays in CMake ncurses GUI.
                                                      34. Packit ea1746
                                                      35. Fix SparseNormalCholeskySolver with dynamic sparsity (Richie
                                                      36. Packit ea1746
                                                        Stebbing).
                                                        Packit ea1746
                                                      37. Remove legacy dependency detection macros.
                                                      38. Packit ea1746
                                                      39. Fix failed if() condition expansion if gflags is not found.
                                                      40. Packit ea1746
                                                      41. Update all CMake to lowercase function name style.
                                                      42. Packit ea1746
                                                      43. Update minimum iOS version to 7.0 for shared_ptr/unordered_map.
                                                      44. Packit ea1746
                                                      45. Fix bug in gflags’ <= 2.1.2 exported CMake configuration.
                                                      46. Packit ea1746
                                                      47. Remove the spec file needed for generating RPMs.
                                                      48. Packit ea1746
                                                      49. Fix a typo in small_blas.h (Werber Trobin).
                                                      50. Packit ea1746
                                                      51. Cleanup FindGflags & use installed gflags CMake config if present.
                                                      52. Packit ea1746
                                                      53. Add default glog install location on Windows to search paths
                                                      54. Packit ea1746
                                                        (bvanevery).
                                                        Packit ea1746
                                                      55. Add default Eigen install location on Windows to search paths
                                                      56. Packit ea1746
                                                        (bvanevery).
                                                        Packit ea1746
                                                      57. Fix explanation of config.h generation in bare config.h.
                                                      58. Packit ea1746
                                                      59. Fix unused parameter compiler warnings in numeric_diff.h.
                                                      60. Packit ea1746
                                                      61. Increase tolerance for a test in polynomial_test (Taylor Braun
                                                      62. Packit ea1746
                                                        Jones).
                                                        Packit ea1746
                                                      63. Fix addition of Gerrit commit hook when Ceres is a git submodule
                                                      64. Packit ea1746
                                                        (Chris Cooper).
                                                        Packit ea1746
                                                      65. Fix missing EIGEN_VERSION expansion typo.
                                                      66. Packit ea1746
                                                      67. Fix links to SuiteSparse & CXSparse (Henrique Mendonça).
                                                      68. Packit ea1746
                                                      69. Ensure Eigen is at least 3.1.0 for Eigen/SparseCore.
                                                      70. Packit ea1746
                                                      71. Add option to use C++11 (not TR1) shared_ptr & unordered_map
                                                      72. Packit ea1746
                                                        (Norman Goldstein).
                                                        Packit ea1746
                                                      73. Fix an incorrect usage message in bundle_adjuster.cc
                                                      74. Packit ea1746
                                                      75. Gracefully disable docs if Sphinx is not found.
                                                      76. Packit ea1746
                                                      77. Explicitly use (new) default OS X rpath policy if present.
                                                      78. Packit ea1746
                                                      79. Add support of EIGEN_SPARSE type in
                                                      80. Packit ea1746
                                                        IsSparseLinearAlgebraLibraryTypeAvailable function (Pierre Moulon).
                                                        Packit ea1746
                                                      81. Allow the LossFunction contained in a LossFunctionWrapper to be
                                                      82. Packit ea1746
                                                        NULL. This is consistent with how NULL LossFunctions are treated
                                                        Packit ea1746
                                                        everywhere else. (Simon Rutishauser).
                                                        Packit ea1746
                                                      83. Improve numeric differentation near zero.
                                                      84. Packit ea1746
                                                      85. Refactored DynamicNumericDiffCostFunction to use NumericDiff (Tal
                                                      86. Packit ea1746
                                                        Ben-Nun).
                                                        Packit ea1746
                                                      87. Remove use of :caption tag in Sphinx.
                                                      88. Packit ea1746
                                                      89. Add a small test to make sure GradientProblemSolver works correctly
                                                      90. Packit ea1746
                                                        (Petter Strandmark).
                                                        Packit ea1746
                                                      91. Add simple unit tests for GradientProblem (Petter Strandmark).
                                                      92. Packit ea1746
                                                      93. Make the robust curve fitting example robust.
                                                      94. Packit ea1746
                                                      95. Homogenize convergence operators in docs and code (Johannes
                                                      96. Packit ea1746
                                                        Schonberger).
                                                        Packit ea1746
                                                      97. Add parameter_tolerance convergence to line search minimizer
                                                      98. Packit ea1746
                                                        (Johannes Schonberger).
                                                        Packit ea1746
                                                      99. Fix bug where pow(JetA,JetB) returned wrong result for JetA==0
                                                      100. Packit ea1746
                                                        (Russell Smith).
                                                        Packit ea1746
                                                      101. Remove duplicate step norm computation (Johannes Schonberger).
                                                      102. Packit ea1746
                                                      103. Enhance usability when encountering Eigen version mismatches
                                                      104. Packit ea1746
                                                        (Andrew Hundt).
                                                        Packit ea1746
                                                      105. Add PLY file logger before and after BA in order to ease visual
                                                      106. Packit ea1746
                                                        comparison (Pierre Moulon).
                                                        Packit ea1746
                                                      107. Fix CMake config file docs to include 2.8.x & 3.x styles.
                                                      108. Packit ea1746
                                                      109. Python3 fixes (Markus Moll).
                                                      110. Packit ea1746
                                                      111. Remove confusing code from DenseJacobianWriter (Michael Vitus).
                                                      112. Packit ea1746
                                                      113. Add documentation on CMake package installation process.
                                                      114. Packit ea1746
                                                      115. Revert a call to SolveUpperTriangularUsingCholesky.
                                                      116. Packit ea1746
                                                      117. Make CERES_EIGEN_VERSION macro independent of CMake.
                                                      118. Packit ea1746
                                                      119. Add versions of dependencies used to FullReport().
                                                      120. Packit ea1746
                                                      121. Ensure local config.h is used if Ceres is already installed.
                                                      122. Packit ea1746
                                                      123. Small messaging and comment updates in CMake
                                                      124. Packit ea1746
                                                      125. Handle possible presence of library prefixes in MSVC (Sylvain
                                                      126. Packit ea1746
                                                        Duchêne).
                                                        Packit ea1746
                                                      127. Use -O2 not -O3 on MinGW to workaround issue with Eigen
                                                      128. Packit ea1746
                                                        (s1m3mu3@gmail.com).
                                                        Packit ea1746
                                                      129. Increase tolerance in small_blas test for Cygwin
                                                      130. Packit ea1746
                                                        (s1m3mu3@gmail.com).
                                                        Packit ea1746
                                                      131. Fix iOS cmake file for cmake 3.0 (Jack Feng)
                                                      132. Packit ea1746
                                                      133. Fix missing gflags shlwapi dependency on MinGW (s1m3mu3@gmail.com).
                                                      134. Packit ea1746
                                                      135. Add thread dependency & fix namespace detection on Windows for
                                                      136. Packit ea1746
                                                        gflags (arrigo.benedetti@gmail.com).
                                                        Packit ea1746
                                                      137. Rename macros in the public API to have a CERES_ prefix.
                                                      138. Packit ea1746
                                                      139. Fix OrderedGroup::Reverse() when it is empty (Chris Sweeney).
                                                      140. Packit ea1746
                                                      141. Update the code to point to ceres-solver.org.
                                                      142. Packit ea1746
                                                      143. Update documentation to point to the GitHub issue tracker.
                                                      144. Packit ea1746
                                                      145. Disable LAPACK for iOS builds. (Greg Coombe)
                                                      146. Packit ea1746
                                                      147. Force use of single-thread in Problem::Evaluate() without
                                                      148. Packit ea1746
                                                        OpenMP.
                                                        Packit ea1746
                                                      149. Less strict check for multithreading. (Chris Sweeney)
                                                      150. Packit ea1746
                                                      151. Update tolerances in small_blas_test.cc (Philipp Hubner)
                                                      152. Packit ea1746
                                                      153. Documentation corrections (Steve Hsu)
                                                      154. Packit ea1746
                                                      155. Fixed sampled_function.cc (Pablo Speciale)
                                                      156. Packit ea1746
                                                      157. Fix example code in the documentation. (Rodney Hoskinson)
                                                      158. Packit ea1746
                                                      159. Improve the error handling in Conjugate Gradients.
                                                      160. Packit ea1746
                                                      161. Improve preconditioner documentation.
                                                      162. Packit ea1746
                                                      163. Remove dead code from fpclassify.h.
                                                      164. Packit ea1746
                                                      165. Make Android.mk threads sensitive.
                                                      166. Packit ea1746
                                                      167. Changed the CURRENT_CONFIG_INSTALL_DIR to be a variable local
                                                      168. Packit ea1746
                                                        to Ceres. (Chris Sweeney)
                                                        Packit ea1746
                                                      169. Fix typo in the comments in Jet.h. (Julius Ziegler)
                                                      170. Packit ea1746
                                                      171. Add the ASL at ETH Zurich, Theia & OpenPTrack to the list of users.
                                                      172. Packit ea1746
                                                      173. Fixed a typo in the documentation. (Richard Stebbing)
                                                      174. Packit ea1746
                                                      175. Fixed a boundary handling bug in the BiCubic interpolation
                                                      176. Packit ea1746
                                                        code. (Bernhard Zeisl)
                                                        Packit ea1746
                                                      177. Fixed a MSVC compilation bug in the cubic interpolation code
                                                      178. Packit ea1746
                                                        (Johannes Schönberger)
                                                        Packit ea1746
                                                      179. Add covariance related files to the Android build.
                                                      180. Packit ea1746
                                                      181. Update Ubuntu 14.04 installation instructions. (Filippo Basso)
                                                      182. Packit ea1746
                                                      183. Improved logging for linear solver failures.
                                                      184. Packit ea1746
                                                      185. Improved crash messages in Problem.
                                                      186. Packit ea1746
                                                      187. Hide Homebrew related variables in CMake GUI.
                                                      188. Packit ea1746
                                                      189. Add SuiteSparse link dependency for
                                                      190. Packit ea1746
                                                        compressed_col_sparse_matrix_utils_test.
                                                        Packit ea1746
                                                      191. Autodetect Homebrew install prefix on OSX.
                                                      192. Packit ea1746
                                                      193. Lint changes from William Rucklidge and Jim Roseborough.
                                                      194. Packit ea1746
                                                      195. Remove using namespace std: from port.h
                                                      196. Packit ea1746
                                                      197. Add note about glog not currently compiling against gflags 2.1.
                                                      198. Packit ea1746
                                                      199. Add explicit no sparse linear algebra library available option.
                                                      200. Packit ea1746
                                                      201. Improve some wording in the FAQ. (Vasily Vylkov)
                                                      202. Packit ea1746
                                                      203. Delete Incomplete LQ Factorization.
                                                      204. Packit ea1746
                                                      205. Add a pointer to MacPorts. (Markus Moll)
                                                      206. Packit ea1746
                                                        Packit ea1746
                                                        Packit ea1746
                                                        Packit ea1746
                                                        Packit ea1746

                                                        1.10.0

                                                        Packit ea1746
                                                        Packit ea1746

                                                        New Features

                                                        Packit ea1746
                                                          Packit ea1746
                                                        1. Ceres Solver can now be used to solve general unconstrained

                                                        2. Packit ea1746
                                                          optimization problems. See the documentation for
                                                          Packit ea1746
                                                          GradientProblem and GradientProblemSolver.

                                                          Packit ea1746
                                                          Packit ea1746
                                                        3. Eigen can now be as a sparse linear algebra backend. This can

                                                        4. 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
                                                        5. Added EIGEN_SPARSE_QR algorithm for covariance estimation using

                                                        6. Packit ea1746
                                                          Eigen‘s sparse QR factorization. (Michael Vitus)

                                                          Packit ea1746
                                                          Packit ea1746
                                                        7. Faster inner iterations when using multiple threads.

                                                        8. Packit ea1746
                                                          Packit ea1746
                                                        9. Faster ITERATIVE_SCHUR + SCHUR_JACOBI for small to medium

                                                        10. Packit ea1746
                                                          sized problems (see documentation for
                                                          Packit ea1746
                                                          Solver::Options::use_explicit_schur_complement).

                                                          Packit ea1746
                                                          Packit ea1746
                                                        11. Faster automatic Schur ordering.

                                                        12. Packit ea1746
                                                          Packit ea1746
                                                        13. Reduced memory usage when solving problems with dynamic sparsity.

                                                        14. Packit ea1746
                                                          Packit ea1746
                                                        15. CostFunctionToFunctor now supports dynamic number of residuals.

                                                        16. Packit ea1746
                                                          Packit ea1746
                                                        17. A complete re-write of the problem preprocessing phase.

                                                        18. Packit ea1746
                                                          Packit ea1746
                                                        19. Solver::Summary::FullReport now reports the build configuration

                                                        20. Packit ea1746
                                                          for Ceres.

                                                          Packit ea1746
                                                          Packit ea1746
                                                        21. When building on Android, the NDK version detection logic has

                                                        22. Packit ea1746
                                                          been improved.

                                                          Packit ea1746
                                                          Packit ea1746
                                                        23. The CERES_VERSION macro has been improved and replaced with the

                                                        24. Packit ea1746
                                                          CERES_VERSION_STRING macro.

                                                          Packit ea1746
                                                          Packit ea1746
                                                        25. Added Solver::Options::IsValid which allows users to validate

                                                        26. Packit ea1746
                                                          their solver configuration before calling Solve.

                                                          Packit ea1746
                                                          Packit ea1746
                                                        27. Added Problem::GetCostFunctionForResidualBlock and

                                                        28. Packit ea1746
                                                          Problem::GetLossFunctionForResidualBlock.

                                                          Packit ea1746
                                                          Packit ea1746
                                                        29. Added Tukey’s loss function. (Michael Vitus)

                                                        30. Packit ea1746
                                                          Packit ea1746
                                                        31. Added RotationMatrixToQuaternion

                                                        32. Packit ea1746
                                                          Packit ea1746
                                                        33. Compute & report timing information for line searches.

                                                        34. Packit ea1746
                                                          Packit ea1746
                                                        35. Autodetect gflags namespace.

                                                        36. Packit ea1746
                                                          Packit ea1746
                                                        37. Expanded more_garbow_hillstrom.cc.

                                                        38. Packit ea1746
                                                          Packit ea1746
                                                        39. Added a pointer to Tal Ben-Nun’s MSVC wrapper to the docs.

                                                        40. Packit ea1746
                                                          Packit ea1746
                                                        41. Added the <2,3,6> Schur template specialization. (Alessandro

                                                        42. Packit ea1746
                                                          Dal Grande)

                                                          Packit ea1746
                                                          Packit ea1746
                                                          Packit ea1746
                                                          Packit ea1746
                                                          Packit ea1746

                                                          Backward Incompatible API Changes

                                                          Packit ea1746
                                                            Packit ea1746
                                                          1. NumericDiffFunctor has been removed. It’s API was broken, and
                                                          2. Packit ea1746
                                                            the implementation was an unnecessary layer of abstraction over
                                                            Packit ea1746
                                                            CostFunctionToFunctor.
                                                            Packit ea1746
                                                          3. POLAK_RIBIRERE conjugate gradients direction type has been
                                                          4. Packit ea1746
                                                            renamed to POLAK_RIBIERE.
                                                            Packit ea1746
                                                          5. Solver::Options::solver_log has been removed. If needed this
                                                          6. Packit ea1746
                                                            iteration callback can easily be implemented in user code.
                                                            Packit ea1746
                                                          7. The SPARSE_CHOLESKY algorithm for covariance estimation has
                                                          8. 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
                                                          9. The SPARSE_QR algorithm for covariance estimation has been
                                                          10. Packit ea1746
                                                            renamed to SUITE_SPARSE_QR to be consistent with
                                                            Packit ea1746
                                                            EIGEN_SPARSE_QR.
                                                            Packit ea1746
                                                          11. Solver::Summary::preconditioner_type has been replaced with
                                                          12. 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
                                                          13. CERES_VERSION and CERES_ABI_VERSION macros were not
                                                          14. 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
                                                            1. Do not try the gradient step if TR step line search fails.
                                                            2. Packit ea1746
                                                            3. Fix missing include in libmv_bundle_adjuster on OSX.
                                                            4. Packit ea1746
                                                            5. Conditionally log evaluation failure warnings.
                                                            6. Packit ea1746
                                                            7. Runtime uses four digits after the decimal in Summary:FullReport.
                                                            8. Packit ea1746
                                                            9. Better options checking for TrustRegionMinimizer.
                                                            10. Packit ea1746
                                                            11. Fix RotationMatrixToAngleAxis when the angle of rotation is near
                                                            12. Packit ea1746
                                                              PI. (Tobias Strauss)
                                                              Packit ea1746
                                                            13. Sometimes gradient norm based convergence would miss a step with a
                                                            14. Packit ea1746
                                                              substantial solution quality improvement. (Rodney Hoskinson)
                                                              Packit ea1746
                                                            15. Ignore warnings from within Eigen/SparseQR (3.2.2).
                                                            16. Packit ea1746
                                                            17. Fix empty Cache HELPSTRING parsing error on OS X 10.10 Yosemite.
                                                            18. Packit ea1746
                                                            19. Fix a formatting error TrustRegionMinimizer logging.
                                                            20. Packit ea1746
                                                            21. Add an explicit include for local_parameterization.h (cooordz)
                                                            22. Packit ea1746
                                                            23. Fix a number of typos in the documentation (Martin Baeuml)
                                                            24. Packit ea1746
                                                            25. Made the logging in TrustRegionMinimizer consistent with
                                                            26. Packit ea1746
                                                              LineSearchMinimizer.
                                                              Packit ea1746
                                                            27. Fix some obsolete documentation in CostFunction::Evaluate.
                                                            28. Packit ea1746
                                                            29. Fix CG solver options for ITERATIVE_SCHUR, which did not copy
                                                            30. Packit ea1746
                                                              min_num_iterations (Johannes Schönberger)
                                                              Packit ea1746
                                                            31. Remove obsolete include of numeric_diff_functor.h. (Martin Baeuml)
                                                            32. Packit ea1746
                                                            33. Fix max. linear solver iterations in ConjugateGradientsSolver
                                                            34. Packit ea1746
                                                              (Johannes Schönberger)
                                                              Packit ea1746
                                                            35. Expand check for lack of a sparse linear algebra library. (Michael
                                                            36. Packit ea1746
                                                              Samples and Domink Reitzle)
                                                              Packit ea1746
                                                            37. Fix Eigen Row/ColMajor bug in NumericDiffCostFunction. (Dominik
                                                            38. Packit ea1746
                                                              Reitzle)
                                                              Packit ea1746
                                                            39. Fix crash in Covariance if # threads > 1 requested without OpenMP.
                                                            40. Packit ea1746
                                                            41. Fixed Malformed regex. (Björn Piltz)
                                                            42. Packit ea1746
                                                            43. Fixed MSVC error C2124: divide or mod by zero. (Björn Piltz)
                                                            44. Packit ea1746
                                                            45. Add missing #include of <limits> for loss functions.
                                                            46. Packit ea1746
                                                            47. Make canned loss functions more robust.
                                                            48. Packit ea1746
                                                            49. Fix type of suppressed compiler warning for Eigen 3.2.0.
                                                            50. Packit ea1746
                                                            51. Suppress unused variable warning from Eigen 3.2.0.
                                                            52. Packit ea1746
                                                            53. Add “make install” to the install instructions.
                                                            54. Packit ea1746
                                                            55. Correct formula in documentation of
                                                            56. Packit ea1746
                                                              Solver::Options::function_tolerance. (Alessandro Gentilini)
                                                              Packit ea1746
                                                            57. Add release flags to iOS toolchain.
                                                            58. Packit ea1746
                                                            59. Fix a broken hyperlink in the documentation. (Henrique Mendonca)
                                                            60. Packit ea1746
                                                            61. Add fixes for multiple definitions of ERROR on Windows to docs.
                                                            62. Packit ea1746
                                                            63. Compile miniglog into Ceres if enabled on all platforms.
                                                            64. Packit ea1746
                                                            65. Add two missing files to Android.mk (Greg Coombe)
                                                            66. Packit ea1746
                                                            67. Fix Cmake error when using miniglog. (Greg Coombe)
                                                            68. Packit ea1746
                                                            69. Don’t build miniglog unconditionally as a static library (Björn
                                                            70. Packit ea1746
                                                              Piltz)
                                                              Packit ea1746
                                                            71. Added a missing include. (Björn Piltz)
                                                            72. Packit ea1746
                                                            73. Conditionally disable SparseNormalCholesky.
                                                            74. Packit ea1746
                                                            75. Fix a memory leak in program_test.cc.
                                                            76. Packit ea1746
                                                              Packit ea1746
                                                              Packit ea1746
                                                              Packit ea1746
                                                              Packit ea1746

                                                              1.9.0

                                                              Packit ea1746
                                                              Packit ea1746

                                                              New Features

                                                              Packit ea1746
                                                                Packit ea1746
                                                              1. Bounds constraints: Support for upper and/or lower bounds on
                                                              2. Packit ea1746
                                                                parameters when using the trust region minimizer.
                                                                Packit ea1746
                                                              3. Dynamic Sparsity: Problems in which the sparsity structure of the
                                                              4. Packit ea1746
                                                                Jacobian changes over the course of the optimization can now be
                                                                Packit ea1746
                                                                solved much more efficiently. (Richard Stebbing)
                                                                Packit ea1746
                                                              5. Improved support for Microsoft Visual C++ including the ability to
                                                              6. Packit ea1746
                                                                build and ship DLLs. (Björn Piltz, Alex Stewart and Sergey
                                                                Packit ea1746
                                                                Sharybin)
                                                                Packit ea1746
                                                              7. Support for building on iOS 6.0 or higher (Jack Feng).
                                                              8. Packit ea1746
                                                              9. Autogeneration of config.h that captures all the defines used to
                                                              10. Packit ea1746
                                                                build and use Ceres Solver.
                                                                Packit ea1746
                                                              11. Simpler and more informative solver termination type
                                                              12. Packit ea1746
                                                                reporting. (See below for more details)
                                                                Packit ea1746
                                                              13. New website based entirely on
                                                              14. Packit ea1746
                                                                Sphinx.
                                                                Packit ea1746
                                                              15. AutoDiffLocalParameterization allows the use of automatic
                                                              16. Packit ea1746
                                                                differentiation for defining LocalParameterization objects
                                                                Packit ea1746
                                                                (Alex Stewart)
                                                                Packit ea1746
                                                              17. LBFGS is faster due to fewer memory copies.
                                                              18. Packit ea1746
                                                              19. Parameter blocks are not restricted to be less than 32k in size,
                                                              20. Packit ea1746
                                                                they can be up to 2G in size.
                                                                Packit ea1746
                                                              21. Faster SPARSE_NORMAL_CHOLESKY solver when using CX_SPARSE
                                                              22. Packit ea1746
                                                                as the sparse linear algebra library.
                                                                Packit ea1746
                                                              23. Added Problem::IsParameterBlockPresent and
                                                              24. Packit ea1746
                                                                Problem::GetParameterization.
                                                                Packit ea1746
                                                              25. Added the (2,4,9) and (2,4,8) template specializations.
                                                              26. Packit ea1746
                                                              27. An example demonstrating the use of
                                                              28. Packit ea1746
                                                                DynamicAutoDiffCostFunction. (Joydeep Biswas)
                                                                Packit ea1746
                                                              29. Homography estimation example from Blender demonstrating the use of
                                                              30. Packit ea1746
                                                                a custom IterationCallback. (Sergey Sharybin)
                                                                Packit ea1746
                                                              31. Support user passing a custom CMAKE_MODULE_PATH (for BLAS /
                                                              32. Packit ea1746
                                                                LAPACK).
                                                                Packit ea1746
                                                                Packit ea1746
                                                                Packit ea1746
                                                                Packit ea1746

                                                                Backward Incompatible API Changes

                                                                Packit ea1746
                                                                  Packit ea1746
                                                                1. Solver::Options::linear_solver_ordering used to be a naked

                                                                2. 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
                                                                3. The enum used for reporting the termination/convergence status of

                                                                4. 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
                                                                5. Solver::Options::gradient_tolerance used to be a relative

                                                                6. 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
                                                                7. Ceres cannot be built without the line search minimizer

                                                                8. 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
                                                                  1. Disabled warning C4251. (Björn Piltz)
                                                                  2. Packit ea1746
                                                                  3. Do not propagate 3d party libs through
                                                                  4. Packit ea1746
                                                                    IMPORTED_LINK_INTERFACE_LIBRARIES_[DEBUG/RELEASE] mechanism when
                                                                    Packit ea1746
                                                                    building shared libraries. (Björn Piltz)
                                                                    Packit ea1746
                                                                  5. Fixed errant verbose levels (Björn Piltz)
                                                                  6. Packit ea1746
                                                                  7. Variety of code cleanups, optimizations and bug fixes to the line
                                                                  8. Packit ea1746
                                                                    search minimizer code (Alex Stewart)
                                                                    Packit ea1746
                                                                  9. Fixed BlockSparseMatrix::Transpose when the matrix has row and
                                                                  10. Packit ea1746
                                                                    column blocks. (Richard Bowen)
                                                                    Packit ea1746
                                                                  11. Better error checking when Problem::RemoveResidualBlock is
                                                                  12. Packit ea1746
                                                                    called. (Alex Stewart)
                                                                    Packit ea1746
                                                                  13. Fixed a memory leak in SchurComplementSolver.
                                                                  14. Packit ea1746
                                                                  15. Added epsilon() method to NumTraits<ceres::Jet<T, N>
                                                                  16. Packit ea1746
                                                                    >. (Filippo Basso)
                                                                    Packit ea1746
                                                                  17. Fixed a bug in CompressedRowSparseMatrix::AppendRows` and
                                                                  18. Packit ea1746
                                                                    DeleteRows.q
                                                                    Packit ea1746
                                                                  19. Handle empty problems consistently.
                                                                  20. Packit ea1746
                                                                  21. Restore the state of the Problem after a call to
                                                                  22. Packit ea1746
                                                                    Problem::Evaluate. (Stefan Leutenegger)
                                                                    Packit ea1746
                                                                  23. Better error checking and reporting for linear solvers.
                                                                  24. Packit ea1746
                                                                  25. Use explicit formula to solve quadratic polynomials instead of the
                                                                  26. Packit ea1746
                                                                    eigenvalue solver.
                                                                    Packit ea1746
                                                                  27. Fix constant parameter handling in inner iterations (Mikael
                                                                  28. Packit ea1746
                                                                    Persson).
                                                                    Packit ea1746
                                                                  29. SuiteSparse errors do not cause a fatal crash anymore.
                                                                  30. Packit ea1746
                                                                  31. Fix corrector_test.cc.
                                                                  32. Packit ea1746
                                                                  33. Relax the requirements on loss function derivatives.
                                                                  34. Packit ea1746
                                                                  35. Minor bugfix to logging.h (Scott Ettinger)
                                                                  36. Packit ea1746
                                                                  37. Updated gmock and gtest to the latest upstream version.
                                                                  38. Packit ea1746
                                                                  39. Fix build breakage on old versions of SuiteSparse.
                                                                  40. Packit ea1746
                                                                  41. Fixed build issues related to Clang / LLVM 3.4 (Johannes
                                                                  42. Packit ea1746
                                                                    Schönberger)
                                                                    Packit ea1746
                                                                  43. METIS_FOUND is never set. Changed the commit to fit the setting of
                                                                  44. Packit ea1746
                                                                    the other #._FOUND definitions. (Andreas Franek)
                                                                    Packit ea1746
                                                                  45. Variety of bug fixes and cleanups to the CMake build system
                                                                  46. Packit ea1746
                                                                    (Alex Stewart)
                                                                    Packit ea1746
                                                                  47. Removed fictious shared library target from the NDK build.
                                                                  48. Packit ea1746
                                                                  49. Solver::Options now uses shared_ptr to handle ownership of
                                                                  50. 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
                                                                  51. Variety of lint cleanups (William Rucklidge & Jim Roseborough)
                                                                  52. Packit ea1746
                                                                  53. Various internal cleanups including dead code removal.
                                                                  54. Packit ea1746
                                                                    Packit ea1746
                                                                    Packit ea1746
                                                                    Packit ea1746
                                                                    Packit ea1746

                                                                    1.8.0

                                                                    Packit ea1746
                                                                    Packit ea1746

                                                                    New Features

                                                                    Packit ea1746
                                                                      Packit ea1746
                                                                    1. Significant improved CMake files with better robustness,
                                                                    2. Packit ea1746
                                                                      dependency checking and GUI support. (Alex Stewart)
                                                                      Packit ea1746
                                                                    3. Added DynamicNumericDiffCostFunction for numerically
                                                                    4. Packit ea1746
                                                                      differentiated cost functions whose sizing is determined at run
                                                                      Packit ea1746
                                                                      time.
                                                                      Packit ea1746
                                                                    5. NumericDiffCostFunction now supports a dynamic number of
                                                                    6. Packit ea1746
                                                                      residuals just like AutoDiffCostFunction.
                                                                      Packit ea1746
                                                                    7. Problem exposes more of its structure in its API.
                                                                    8. Packit ea1746
                                                                    9. Faster automatic differentiation (Tim Langlois)
                                                                    10. Packit ea1746
                                                                    11. Added the commonly occuring 2_d_d template specialization for
                                                                    12. Packit ea1746
                                                                      the Schur Eliminator.
                                                                      Packit ea1746
                                                                    13. Faster ITERATIVE_SCHUR solver using template specializations.
                                                                    14. Packit ea1746
                                                                    15. Faster SCHUR_JACOBI preconditioner construction.
                                                                    16. Packit ea1746
                                                                    17. Faster AngleAxisRotatePoint.
                                                                    18. Packit ea1746
                                                                    19. Faster Jacobian evaluation when a loss function is used.
                                                                    20. Packit ea1746
                                                                    21. Added support for multiple clustering algorithms in visibility
                                                                    22. 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
                                                                      1. Fix ordering of ParseCommandLineFlags() & InitGoogleTest() for
                                                                      2. Packit ea1746
                                                                        Windows. (Alex Stewart)
                                                                        Packit ea1746
                                                                      3. Remove DCHECK_GE checks from fixed_array.h.
                                                                      4. Packit ea1746
                                                                      5. Fix build on MSVC 2013 (Petter Strandmark)
                                                                      6. Packit ea1746
                                                                      7. Fixed AngleAxisToRotationMatrix near zero.
                                                                      8. Packit ea1746
                                                                      9. Move CERES_HASH_NAMESPACE macros to collections_port.h.
                                                                      10. Packit ea1746
                                                                      11. Fix handling of unordered_map/unordered_set on OSX 10.9.0.
                                                                      12. Packit ea1746
                                                                      13. Explicitly link to libm for curve_fitting_c.c. (Alex Stewart)
                                                                      14. Packit ea1746
                                                                      15. Minor type conversion fix to autodiff.h
                                                                      16. Packit ea1746
                                                                      17. Remove RuntimeNumericDiffCostFunction.
                                                                      18. Packit ea1746
                                                                      19. Fix operator= ambiguity on some versions of Clang. (Alex Stewart)
                                                                      20. Packit ea1746
                                                                      21. Various Lint cleanups (William Rucklidge & Jim Roseborough)
                                                                      22. Packit ea1746
                                                                      23. Modified installation folders for Windows. (Pablo Speciale)
                                                                      24. Packit ea1746
                                                                      25. Added librt to link libraries for SuiteSparse_config on
                                                                      26. Packit ea1746
                                                                        Linux. (Alex Stewart)
                                                                        Packit ea1746
                                                                      27. Check for presence of return-type-c-linkage option with
                                                                      28. Packit ea1746
                                                                        Clang. (Alex Stewart)
                                                                        Packit ea1746
                                                                      29. Fix Problem::RemoveParameterBlock after calling solve. (Simon
                                                                      30. Packit ea1746
                                                                        Lynen)
                                                                        Packit ea1746
                                                                      31. Fix a free/delete bug in covariance_impl.cc
                                                                      32. Packit ea1746
                                                                      33. Fix two build errors. (Dustin Lang)
                                                                      34. Packit ea1746
                                                                      35. Add RequireInitialization = 1 to NumTraits::Jet.
                                                                      36. Packit ea1746
                                                                      37. Update gmock/gtest to 1.7.0
                                                                      38. Packit ea1746
                                                                      39. Added IterationSummary::gradient_norm.
                                                                      40. Packit ea1746
                                                                      41. Reduced verbosity of the inner iteration minimizer.
                                                                      42. Packit ea1746
                                                                      43. Fixed a bug in TrustRegionMinimizer. (Michael Vitus)
                                                                      44. Packit ea1746
                                                                      45. Removed android/build_android.sh.
                                                                      46. 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
                                                                        1. Solver::Options::sparse_linear_algebra_library has been renamed
                                                                        2. Packit ea1746
                                                                          to Solver::Options::sparse_linear_algebra_library_type.
                                                                          Packit ea1746
                                                                          Packit ea1746
                                                                          Packit ea1746
                                                                          Packit ea1746

                                                                          New Features

                                                                          Packit ea1746
                                                                            Packit ea1746
                                                                          1. Sparse and dense covariance estimation.
                                                                          2. Packit ea1746
                                                                          3. A new Wolfe line search. (Alex Stewart)
                                                                          4. Packit ea1746
                                                                          5. BFGS line search direction. (Alex Stewart)
                                                                          6. Packit ea1746
                                                                          7. C API
                                                                          8. Packit ea1746
                                                                          9. Speeded up the use of loss functions > 17x.
                                                                          10. Packit ea1746
                                                                          11. Faster DENSE_QR, DENSE_NORMAL_CHOLESKY and DENSE_SCHUR
                                                                          12. Packit ea1746
                                                                            solvers.
                                                                            Packit ea1746
                                                                          13. Support for multiple dense linear algebra backends. In particular
                                                                          14. 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
                                                                          15. Use of Inner iterations can now be adaptively stopped. Iteration
                                                                          16. Packit ea1746
                                                                            and runtime statistics for inner iterations are not reported in
                                                                            Packit ea1746
                                                                            Solver::Summary and Solver::Summary::FullReport.
                                                                            Packit ea1746
                                                                          17. Improved inner iteration step acceptance criterion.
                                                                          18. Packit ea1746
                                                                          19. Add BlockRandomAccessCRSMatrix.
                                                                          20. Packit ea1746
                                                                          21. Speeded up automatic differentiation by 7%.
                                                                          22. Packit ea1746
                                                                          23. Bundle adjustment example from libmv/Blender (Sergey Sharybin)
                                                                          24. Packit ea1746
                                                                          25. Shared library building is now controlled by CMake, rather than a
                                                                          26. 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
                                                                          27. No more dependence on Protocol Buffers.
                                                                          28. Packit ea1746
                                                                          29. Incomplete LQ factorization.
                                                                          30. Packit ea1746
                                                                          31. Ability to write trust region problems to disk.
                                                                          32. Packit ea1746
                                                                          33. Add sinh, cosh, tanh and tan functions to automatic differentiation
                                                                          34. Packit ea1746
                                                                            (Johannes Schönberger)
                                                                            Packit ea1746
                                                                          35. Simplifications to the cmake build file.
                                                                          36. Packit ea1746
                                                                          37. miniglog can now be used as a replacement for google-glog
                                                                          38. Packit ea1746
                                                                            on non Android platforms. (This is NOT recommended).
                                                                            Packit ea1746
                                                                            Packit ea1746
                                                                            Packit ea1746
                                                                            Packit ea1746

                                                                            Bug Fixes

                                                                            Packit ea1746
                                                                              Packit ea1746
                                                                            1. Fix ITERATIVE_SCHUR solver to work correctly when the schur
                                                                            2. Packit ea1746
                                                                              complement is of size zero. (Soohyun Bae)
                                                                              Packit ea1746
                                                                            3. Fix the spec file for generating RPM packages (Brian Pitts
                                                                            4. Packit ea1746
                                                                              and Taylor Braun-Jones).
                                                                              Packit ea1746
                                                                            5. Fix how ceres calls CAMD (Manas Jagadev)
                                                                            6. Packit ea1746
                                                                            7. Fix breakage on old versions of SuiteSparse. (Fisher Yu)
                                                                            8. Packit ea1746
                                                                            9. Fix warning C4373 in Visual Studio (Petter Strandmark)
                                                                            10. Packit ea1746
                                                                            11. Fix compilation error caused by missing suitesparse headers and
                                                                            12. Packit ea1746
                                                                              reorganize them to be more robust. (Sergey Sharybin)
                                                                              Packit ea1746
                                                                            13. Check GCC Version before adding -fast compiler option on
                                                                            14. Packit ea1746
                                                                              OSX. (Steven Lovegrove)
                                                                              Packit ea1746
                                                                            15. Add documentation for minimizer progress output.
                                                                            16. Packit ea1746
                                                                            17. Lint and other cleanups (William Rucklidge and James Roseborough)
                                                                            18. Packit ea1746
                                                                            19. Collections port fix for MSC 2008 (Sergey Sharybin)
                                                                            20. Packit ea1746
                                                                            21. Various corrections and cleanups in the documentation.
                                                                            22. Packit ea1746
                                                                            23. Change the path where CeresConfig.cmake is installed (Pablo
                                                                            24. Packit ea1746
                                                                              Speciale)
                                                                              Packit ea1746
                                                                            25. Minor errors in documentation (Pablo Speciale)
                                                                            26. Packit ea1746
                                                                            27. Updated depend.cmake to follow CMake IF convention. (Joydeep
                                                                            28. Packit ea1746
                                                                              Biswas)
                                                                              Packit ea1746
                                                                            29. Stablize the schur ordering algorithm.
                                                                            30. Packit ea1746
                                                                            31. Update license header in split.h.
                                                                            32. Packit ea1746
                                                                            33. Enabling -O4 (link-time optimization) only if compiler/linker
                                                                            34. Packit ea1746
                                                                              support it. (Alex Stewart)
                                                                              Packit ea1746
                                                                            35. Consistent glog path across files.
                                                                            36. Packit ea1746
                                                                            37. ceres-solver.spec: Use cleaner, more conventional Release string
                                                                            38. Packit ea1746
                                                                              (Taylor Braun-Jones)
                                                                              Packit ea1746
                                                                            39. Fix compile bug on RHEL6 due to missing header (Taylor Braun-Jones)
                                                                            40. Packit ea1746
                                                                            41. CMake file is less verbose.
                                                                            42. Packit ea1746
                                                                            43. Use the latest upstream version of google-test and gmock.
                                                                            44. Packit ea1746
                                                                            45. Rationalize some of the variable names in Solver::Options.
                                                                            46. Packit ea1746
                                                                            47. Improve Summary::FullReport when line search is used.
                                                                            48. Packit ea1746
                                                                            49. Expose line search parameters in Solver::Options.
                                                                            50. Packit ea1746
                                                                            51. Fix update of L-BFGS history buffers after they become full. (Alex
                                                                            52. Packit ea1746
                                                                              Stewart)
                                                                              Packit ea1746
                                                                            53. Fix configuration error on systems without SuiteSparse installed
                                                                            54. Packit ea1746
                                                                              (Sergey Sharybin)
                                                                              Packit ea1746
                                                                            55. Enforce the read call returns correct value in
                                                                            56. Packit ea1746
                                                                              curve_fitting_c.c (Arnaud Gelas)
                                                                              Packit ea1746
                                                                            57. Fix DynamicAutoDiffCostFunction (Richard Stebbing)
                                                                            58. Packit ea1746
                                                                            59. Fix Problem::RemoveParameterBlock documentation (Johannes
                                                                            60. Packit ea1746
                                                                              Schönberger)
                                                                              Packit ea1746
                                                                            61. Fix a logging bug in parameter_block.h
                                                                            62. Packit ea1746
                                                                            63. Refactor the preconditioner class structure.
                                                                            64. Packit ea1746
                                                                            65. Fix an uninitialized variable warning when building with GCC.
                                                                            66. Packit ea1746
                                                                            67. Fix a reallocation bug in
                                                                            68. Packit ea1746
                                                                              CreateJacobianBlockSparsityTranspose. (Yuliy Schwartzburg)
                                                                              Packit ea1746
                                                                            69. Add a define for O_BINARY.
                                                                            70. Packit ea1746
                                                                            71. Fix miniglog-based Android NDK build; now works with NDK r9. (Scott
                                                                            72. 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
                                                                              1. Major Performance improvements.
                                                                                1. Packit ea1746
                                                                                2. Schur type solvers (SPARSE_SCHUR, DENSE_SCHUR,
                                                                                3. Packit ea1746
                                                                                  ITERATIVE_SCHUR) are significantly faster due to custom BLAS
                                                                                  Packit ea1746
                                                                                  routines and fewer heap allocations.
                                                                                  Packit ea1746
                                                                                4. SPARSE_SCHUR when used with CX_SPARSE now uses a block
                                                                                5. Packit ea1746
                                                                                  AMD for much improved factorization performance.
                                                                                  Packit ea1746
                                                                                6. The jacobian matrix is pre-ordered so that
                                                                                7. Packit ea1746
                                                                                  SPARSE_NORMAL_CHOLESKY and SPARSE_SCHUR do not have to
                                                                                  Packit ea1746
                                                                                  make copies inside CHOLMOD.
                                                                                  Packit ea1746
                                                                                8. Faster autodiff by replacing division by multplication by inverse.
                                                                                9. Packit ea1746
                                                                                10. When compiled without threads, the schur eliminator does not pay
                                                                                11. Packit ea1746
                                                                                  the penalty for locking and unlocking mutexes.
                                                                                  Packit ea1746
                                                                                  Packit ea1746
                                                                                  Packit ea1746
                                                                                12. Users can now use linear_solver_ordering to affect the
                                                                                13. Packit ea1746
                                                                                  fill-reducing ordering used by SUITE_SPARSE for
                                                                                  Packit ea1746
                                                                                  SPARSE_NORMAL_CHOLESKY.
                                                                                  Packit ea1746
                                                                                14. Problem can now report the set of parameter blocks it knows about.
                                                                                15. Packit ea1746
                                                                                16. TrustRegionMinimizer uses the evaluator to compute the gradient
                                                                                17. Packit ea1746
                                                                                  instead of a matrix vector multiply.
                                                                                  Packit ea1746
                                                                                18. On Mac OS, whole program optimization is enabled.
                                                                                19. Packit ea1746
                                                                                20. Users can now use automatic differentiation to define new
                                                                                21. Packit ea1746
                                                                                  LocalParameterization objects. (Sergey Sharybin)
                                                                                  Packit ea1746
                                                                                22. Enable larger tuple sizes for Visual Studio 2012. (Petter Strandmark)
                                                                                23. Packit ea1746
                                                                                  Packit ea1746
                                                                                  Packit ea1746
                                                                                  Packit ea1746

                                                                                  Bug Fixes

                                                                                  Packit ea1746
                                                                                    Packit ea1746
                                                                                  1. Update the documentation for CostFunction.
                                                                                  2. Packit ea1746
                                                                                  3. Fixed a typo in the documentation. (Pablo Speciale)
                                                                                  4. Packit ea1746
                                                                                  5. Fix a typo in suitesparse.cc.
                                                                                  6. Packit ea1746
                                                                                  7. Bugfix in NumericDiffCostFunction. (Nicolas Brodu)
                                                                                  8. Packit ea1746
                                                                                  9. Death to BlockSparseMatrixBase.
                                                                                  10. Packit ea1746
                                                                                  11. Change Minimizer::Options::min_trust_region_radius to double.
                                                                                  12. Packit ea1746
                                                                                  13. Update to compile with stricter gcc checks. (Joydeep Biswas)
                                                                                  14. Packit ea1746
                                                                                  15. Do not modify cached CMAKE_CXX_FLAGS_RELEASE. (Sergey Sharybin)
                                                                                  16. Packit ea1746
                                                                                  17. <iterator> needed for back_insert_iterator. (Petter Strandmark)
                                                                                  18. Packit ea1746
                                                                                  19. Lint cleanup. (William Rucklidge)
                                                                                  20. Packit ea1746
                                                                                  21. Documentation corrections. (Pablo Speciale)
                                                                                  22. 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
                                                                                    1. Added Problem::Evaluate. Now you can evaluate a problem or any

                                                                                    2. 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
                                                                                        Problem problem;
                                                                                        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 */ );