commit | f973e107d233420f197a855aabd644e237055fd7 | [log] [tgz] |
---|---|---|
author | Sameer Agarwal <sameeragarwal@google.com> | Fri Apr 06 08:39:16 2018 -0700 |
committer | Sameer Agarwal <sameeragarwal@google.com> | Tue Apr 10 11:01:38 2018 -0700 |
tree | 7f4ac8e375477544c3bcb398c786c27e93f8cbda | |
parent | 81f413b7205eeaa30cfe72dadf3bcb8812f5a11c [diff] |
Enable mixed precision solves. 1. Add Solver::Options::use_mixed_precision_solves, and Solver::Options::max_num_refinement_iterations. 2. Make SparseCholesky::Create return a unique_ptr. 3. SparseCholesky::Create now takes LinearSolver::Options as an argument. 4. IterativeRefiner's constructor does not require num_cols as an argument. 5. SparseNormalCholeskySolver now uses a separate rhs vector. This basic implementation results in a 10% reduction in solver time and 30% reduction in linear solver memory usage. Change-Id: I6830f32cae2febf082d2733262eb2c9f0482b0ea
Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems.
Please see ceres-solver.org for more information.
Ceres development happens on Gerrit, including both repository hosting and code reviews. The GitHub Repository is a continuously updated mirror which is primarily meant for issue tracking. Please see our Contributing to Ceres Guide for more details.
The upstream Gerrit repository is
https://ceres-solver.googlesource.com/ceres-solver