blob: d53f4fb51515dcb3a3ed9eddb980d90bc51ac810 [file]
.. title:: A Large Scale Non-linear Optimization Library
============
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
<https://groups.google.com/forum/?fromgroups#!forum/ceres-solver>`_ is
the place for discussions and questions about Ceres Solver. We use the
`GitHub Issue Tracker
<https://github.com/ceres-solver/ceres-solver/issues>`_ 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: https://en.wikipedia.org/wiki/Non-linear_least_squares
Cite Us
=======
If you use Ceres Solver for a publication, please cite it as:
.. parsed-literal::
@software{Agarwal_Ceres_Solver_2022,
author = {Agarwal, Sameer and Mierle, Keir and The Ceres Solver Team},
title = {{Ceres Solver}},
license = {BSD-3-Clause},
url = {https://github.com/ceres-solver/ceres-solver},
version = {|stable_version|},
year = {|stable_year|},
month = {|stable_month|}
}
.. 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
<https://mathshistory.st-andrews.ac.uk/Biographies/Gauss/>`_
who brought it to the attention of the world. Using just 22
observations of the newly discovered asteroid `Ceres
<https://en.wikipedia.org/wiki/Ceres_(dwarf_planet)>`_, 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.