.. Ceres Solver documentation master file, created by
   sphinx-quickstart on Sat Jan 19 00:07:33 2013.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

============
Ceres Solver
============

Ceres Solver is a portable C++ library for solving non-linear least
squares problems.

* Download the latest stable `release
  <https://ceres-solver.googlecode.com/files/ceres-solver-1.8.0.tar.gz>`_
  or clone the `repository
  <https://ceres-solver.googlesource.com/ceres-solver>`_

* Read the :ref:`chapter-tutorial`

* Browse the :ref:`chapter-modeling` API and :ref:`chapter-solving` API.

* Join the `mailing list
  <https://groups.google.com/forum/?fromgroups#!forum/ceres-solver>`_
  and ask questions.

* File bugs, feature requests in the `issue tracker
  <https://code.google.com/p/ceres-solver/issues/list>`_.

* If you use Ceres Solver for a publication, you must cite it as::

    @misc{ceres-solver,
      author = "Sameer Agarwal and Keir Mierle and Others",
      title = "Ceres Solver",
      howpublished = "\url{https://code.google.com/p/ceres-solver/}",
    }

.. toctree::
   :maxdepth: 1
   :hidden:

   introduction
   building
   tutorial
   modeling
   solving
   reading
   contributing
   acknowledgements
   version_history
   bibliography
   license
