blob: a242d05e250bea8e6ab4217b39a0376eb285a979 [file] [edit]
.. 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 high-performance library that has been used in
production at Google since 2010. See :doc:`features` for an overview.
`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 debate that `Carl
Friedrich Gauss
<https://mathshistory.st-andrews.ac.uk/Biographies/Gauss/>`_
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 would 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.