blob: 497b12cf196112e93ef112aa6ef6d92cfcf7966a [file] [log] [blame]
Austin Schuh70cc9552019-01-21 19:46:48 -08001============
2Ceres Solver
3============
4
5Ceres Solver [#f1]_ is an open source C++ library for modeling and
6solving large, complicated optimization problems. It can be used to
7solve `Non-linear Least Squares`_ problems with bounds constraints and
8general unconstrained optimization problems. It is a mature, feature
9rich, and performant library that has been used in production at
10Google since 2010. For more, see :doc:`features`.
11
12`ceres-solver@googlegroups.com
13<https://groups.google.com/forum/?fromgroups#!forum/ceres-solver>`_ is
14the place for discussions and questions about Ceres Solver. We use the
15`GitHub Issue Tracker
16<https://github.com/ceres-solver/ceres-solver/issues>`_ to manage bug
17reports and feature requests.
18
19
20.. toctree::
21 :maxdepth: 1
22 :hidden:
23
24 features
25 installation
26 tutorial
27 derivatives
28 nnls_modeling
29 nnls_solving
30 nnls_covariance
31 gradient_solver
32 faqs
33 users
34 contributing
35 version_history
36 bibliography
37 license
38
39.. _Non-linear Least Squares: http://en.wikipedia.org/wiki/Non-linear_least_squares
40
41
42Cite Us
43=======
44
45If you use Ceres Solver for a publication, please cite it as::
46
Austin Schuh3de38b02024-06-25 18:25:10 -070047 @software{Agarwal_Ceres_Solver_2022,
48 author = {Agarwal, Sameer and Mierle, Keir and The Ceres Solver Team},
49 title = {{Ceres Solver}},
50 license = {Apache-2.0},
51 url = {https://github.com/ceres-solver/ceres-solver},
52 version = {2.2},
53 year = {2023},
54 month = {10}
55 }
Austin Schuh70cc9552019-01-21 19:46:48 -080056
57.. rubric:: Footnotes
58
59.. [#f1] While there is some debate as to who invented the method of
60 Least Squares [Stigler]_, there is no questioning the fact
61 that it was `Carl Friedrich Gauss
62 <http://www-groups.dcs.st-and.ac.uk/~history/Biographies/Gauss.html>`_
63 who brought it to the attention of the world. Using just 22
64 observations of the newly discovered asteroid `Ceres
65 <http://en.wikipedia.org/wiki/Ceres_(dwarf_planet)>`_, Gauss
66 used the method of least squares to correctly predict when
67 and where the asteroid will emerge from behind the Sun
68 [TenenbaumDirector]_. We named our solver after Ceres to
69 celebrate this seminal event in the history of astronomy,
70 statistics and optimization.