============ Ceres Solver ============ Ceres Solver [#f1]_ is an open source C++ library for modeling and solving large, complicated optimization problems. It can be used to solve `Non-linear Least Squares`_ problems with bounds constraints and general unconstrained optimization problems. It is a mature, feature rich, and performant library that has been used in production at Google since 2010. For more, see :doc:`features`. `ceres-solver@googlegroups.com `_ is the place for discussions and questions about Ceres Solver. We use the `GitHub Issue Tracker `_ to manage bug reports and feature requests. .. toctree:: :maxdepth: 1 :hidden: features installation tutorial derivatives nnls_modeling nnls_solving nnls_covariance gradient_solver faqs users contributing version_history bibliography license .. _Non-linear Least Squares: http://en.wikipedia.org/wiki/Non-linear_least_squares Cite Us ======= If you use Ceres Solver for a publication, please cite it as:: @software{Agarwal_Ceres_Solver_2022, author = {Agarwal, Sameer and Mierle, Keir and The Ceres Solver Team}, title = {{Ceres Solver}}, license = {Apache-2.0}, url = {https://github.com/ceres-solver/ceres-solver}, version = {2.2}, year = {2023}, month = {10} } .. rubric:: Footnotes .. [#f1] While there is some debate as to who invented the method of Least Squares [Stigler]_, there is no questioning the fact that it was `Carl Friedrich Gauss `_ who brought it to the attention of the world. Using just 22 observations of the newly discovered asteroid `Ceres `_, Gauss used the method of least squares to correctly predict when and where the asteroid will emerge from behind the Sun [TenenbaumDirector]_. We named our solver after Ceres to celebrate this seminal event in the history of astronomy, statistics and optimization.