| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | .. _chapter-introduction:============Introduction============Solving nonlinear least squares problems [#f1]_ comes up in a broadrange of areas across science and engineering - from fitting curves instatistics, to constructing 3D models from photographs in computervision. Ceres Solver [#f2]_ [#f3]_ is a portable C++ library forsolving non-linear least squares problems. It is designed to solvesmall and large sparse problems accurately and efficiently.At Google, Ceres Solver has been used for solving a variety ofproblems in computer vision and machine learning. e.g., it is used toto estimate the pose of Street View cars, aircrafts, and satellites;to build 3D models for PhotoTours; to estimate satellite image sensorcharacteristics, and more.Features:#. A friendly :ref:`chapter-modeling`.#. Automatic and numeric differentiation.#. Robust loss functions and local parameterizations.#. Multithreading.#. Trust-Region (Levenberg-Marquardt and Dogleg) and Line Search   (Nonlinear CG and L-BFGS) solvers.#. Variety of linear solvers.   a. Dense QR and Cholesky factorization (using `Eigen      <http://eigen.tuxfamily.org/index.php?title=Main_Page>`_) for      small problems.   b. Sparse Cholesky factorization (using `SuiteSparse      <http://www.cise.ufl.edu/research/sparse/SuiteSparse/>`_ and      `CXSparse <http://www.cise.ufl.edu/research/sparse/CSparse/>`_) for      large sparse problems.   c. Specialized solvers for bundle adjustment problems in computer      vision.   d. Iterative linear solvers with perconditioners for general sparse      and bundle adjustment problems.#. Portable: Runs on Linux, Windows, Mac OS X and Android. An iOS port is   underway... rubric:: Footnotes.. [#f1] For a gentle but brief introduction to non-linear least         squares problems, please start by reading the         :ref:`chapter-tutorial`... [#f2] While there is some debate as to who invented the method of         Least Squares [Stigler]_, there is no debate that it was Carl         Friedrich 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... [#f3] For brevity, in the rest of this document we will just use         the term Ceres.
 |