Refactor the landing page to be a bit more compact.
Also minor changes to the introduction.
Change-Id: Iaa71f576b95c869f075d6837dbb60ba4bb608ee7
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 6ac00da..0dcf5a0 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -23,36 +23,28 @@
bibliography
license
-Solving `nonlinear least squares`_ problems comes up in a broad range of areas
-across science and engineering - from `fitting curves`_ in statistics, to
-constructing `3D models from photographs`_ in computer vision.
+Ceres Solver is an industrial-grade C++ library for modeling and
+solving `nonlinear least squares`_ problems. These problems comes up
+in a broad range of areas across science and engineering - from
+`fitting curves`_ in statistics, to constructing `3D models from
+photographs`_ in computer vision.
+
+Ceres Solver features an integrated modeling layer with automatic
+differentiation (you can also use numeric and/or analytic
+derivatives), well optimized code with extensive tests and state of
+the art performance on a variety of problems.
+
+Ceres Solver is used in Google `Street View`_, Google `PhotoTours`_,
+Google `PhotoSphere`_, `Project Tango`_, `Blender`_, and more.
.. _nonlinear least squares: http://en.wikipedia.org/wiki/Non-linear_least_squares
.. _fitting curves: http://en.wikipedia.org/wiki/Nonlinear_regression
.. _3D models from photographs: http://en.wikipedia.org/wiki/Structure_from_motion
-
-What is Ceres Solver?
----------------------
-Ceres is an industrial-grade C++ library for modeling and solving large and
-small nonlinear least squares problems of the form
-
-.. math:: \frac{1}{2}\sum_{i} \rho_i\left(\left\|f_i\left(x_{i_1}, ... ,x_{i_k}\right)\right\|^2\right).
-
-For a brief introduction to nonlinear solving in general, see the
-:ref:`chapter-tutorial`.
-
-Who uses Ceres Solver?
-----------------------
-There are many users of Ceres, including Google Street View, Google Maps,
-several SLAM pipelines, Blender, and more. See the :ref:`chapter-introduction`
-for more users.
-
-Why use Ceres Solver?
----------------------
-Ceres is a world-class least squares solver for a variety of reasons, including
-an integrated modelling layer, automatic differentiation, optimized code,
-extensive tests, and more. See the :ref:`chapter-introduction` for a detailed
-list.
+.. _Street View: http://youtu.be/z00ORu4bU-A
+.. _PhotoTours: http://google-latlong.blogspot.com/2012/04/visit-global-landmarks-with-photo-tours.html
+.. _PhotoSphere: http://www.google.com/maps/about/contribute/photosphere/
+.. _Project Tango: https://www.google.com/atap/projecttango/
+.. _Blender: http://mango.blender.org/development/planar-tracking-preview/
Getting started
---------------
@@ -67,18 +59,17 @@
git clone https://ceres-solver.googlesource.com/ceres-solver
-* Read the :ref:`chapter-tutorial`
-* Browse the :ref:`chapter-modeling` and :ref:`chapter-solving`.
+* Read the :ref:`chapter-tutorial`, browse :ref:`chapter-modeling` and :ref:`chapter-solving`.
* 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>`_.
-* Improve Ceres by :ref:`chapter-contributing`
+
Cite Us
-------
-If you use Ceres Solver for a publication, you must cite it as::
+If you use Ceres Solver for a publication, please cite it as::
@misc{ceres-solver,
author = "Sameer Agarwal and Keir Mierle and Others",
diff --git a/docs/source/introduction.rst b/docs/source/introduction.rst
index 72625c8..d21f7d9 100644
--- a/docs/source/introduction.rst
+++ b/docs/source/introduction.rst
@@ -43,29 +43,29 @@
---------------------
* Ceres has an **integrated modelling layer**, making it easy and intutive to
model large, complex cost functions with interacting terms, such as a moving
- vehicle with multiple sensors and tricky dynamics
+ vehicle with multiple sensors and tricky dynamics.
* Ceres has **integrated automatic differentiation**, avoiding the error-prone
- task of manually computing derivatives
+ task of manually computing derivatives.
* Ceres can model a **wide variety of problems**, beyond simple nonlinear least
squares, thanks to robust loss functions and local parameterizations (e.g.
- for quaternions)
+ for quaternions).
* Ceres is **very fast**, thanks to threaded cost function evaluators, threaded linear
- solvers, and generous amounts of engineering time spent optimizing
+ solvers, and generous amounts of engineering time spent optimizing.
* Ceres has **multiple nonlinear solvers** including trust region (fast, uses
- more memory) and line search (slower, uses less memory)
+ more memory) and line search (slower, uses less memory).
* Ceres has **multiple linear solvers** for both sparse and dense systems,
leveraging Eigen or MKL for dense solving, CHOLMOD or CXSparse for sparse
- solving, and specialized linear solvers bundle adjustment
+ solving, and specialized linear solvers for bundle adjustment.
* Ceres has **thorough automated tests** ensuring it is high-quality
* Ceres is **industrial grade** thanks to **many compute-years** spent
- running its code, analyzing the results, and improving it
+ running its code, analyzing the results, and improving it.
* Ceres has **world-class solution quality**, with the best known results of
- any least squares solver on the `NIST least squares precision benchmark`_
+ any least squares solver on the `NIST least squares precision benchmark`_.
* Ceres has an **active community** encouraging contributions and mentoring
- those starting out
+ those starting out.
* Ceres runs on **many platforms** including Linux, Windows, Mac OS X, Android, and
- iOS (sort of)
+ iOS (sort of).
* Ceres is **liberally licensed (BSD)** so that you can use it freely in
- commercial applications without releasing your code
+ commercial applications without releasing your code.
.. _NIST least squares precision benchmark: https://groups.google.com/forum/#!topic/ceres-solver/UcicgMPgbXw