Initial commit of Ceres Solver.
diff --git a/docs/ceres.bib b/docs/ceres.bib
new file mode 100644
index 0000000..b26a984
--- /dev/null
+++ b/docs/ceres.bib
@@ -0,0 +1,219 @@
+@article{stigler1981gauss,
+  title={Gauss and the invention of least squares},
+  author={Stigler, S.M.},
+  journal={The Annals of Statistics},
+  volume={9},
+  number={3},
+  pages={465--474},
+  year={1981},
+  publisher={Institute of Mathematical Statistics}
+}
+
+@inproceedings{kushal2012,
+  title={Visibility Based Preconditioning for Bundle Adjustment},
+  author={Kushal, A. and Agarwal, S.},
+  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
+  year={2012},
+}
+
+@article{nash1990assessing,
+  title={Assessing a search direction within a truncated-Newton method},
+  author={Nash, S.G. and Sofer, A.},
+  journal={Operations Research Letters},
+  volume={9},
+  number={4},
+  pages={219--221},
+  year={1990}
+}
+
+@inproceedings{wu2011multicore,
+  title={Multicore bundle adjustment},
+  author={Wu, C. and Agarwal, S. and Curless, B. and Seitz, S.M.},
+  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
+  pages={3057--3064},
+  year={2011},
+}
+
+@inproceedings{Agarwal10bal,
+ author = {Agarwal, S. and Snavely, N. and Seitz, S. M. and Szeliski, R.},
+ title = {Bundle adjustment in the large},
+booktitle = {Proceedings of the European Conference on Computer Vision},
+ year = {2010},
+ pages = {29--42},
+}
+
+@article{li2007miqr,
+  title={MIQR: A multilevel incomplete QR preconditioner for large sparse least-squares problems},
+  author={Li, Na and Saad, Y.},
+  journal={SIAM Journal on Matrix Analysis and Applications},
+  volume={28},
+  number={2},
+  pages={524--550},
+  year={2007},
+  publisher={Society for Industrial and Applied Mathematics}
+}
+
+@article{wright1985inexact,
+        Author = {Wright, S. J. and Holt, J. N.},
+	Journal = {Journal of the Australian Mathematical Society Series B},
+	Pages = "387--403",
+	Title = {{An Inexact Levenberg-Marquardt Method for Large Sparse Nonlinear Least Squares}},
+	Volume = 26,
+	Number = 4,
+	Year = 1985
+}
+
+@article{elsner1984note,
+	Author = {Elsner, L.},
+	Journal = {Numer. Math.},
+	Number = {1},
+	Pages = {127--128},
+	Publisher = {Springer},
+	Title = {{A note on optimal block-scaling of matrices}},
+	Volume = {44},
+	Year = {1984}}
+
+@article{hestenes1952methods,
+	Author = {Hestenes, M.R. and Stiefel, E.},
+	Journal = {Journal of research of the National Bureau of Standards},
+	Number = {6},
+	Pages = {409--436},
+	Title = {{Methods of conjugate gradients for solving linear systems}},
+	Volume = {49},
+	Year = {1952}}
+
+@book{mathew2008domain,
+	Author = {Mathew, T.P.A.},
+	Publisher = {Springer Verlag},
+	Title = {{Domain decomposition methods for the numerical solution of partial differential equations}},
+	Year = {2008}}
+
+@book{smith2004domain,
+	Author = {Smith, B.F. and Bjorstad, P.E. and Gropp, W.},
+	Publisher = {Cambridge University Press},
+	Title = {{Domain decomposition}},
+	Year = {2004}}
+
+@article{demmel1983condition,
+	Author = {Demmel, J.},
+	Journal = {SINUM},
+	Number = {3},
+	Pages = {599--610},
+	Title = {{The condition number of equivalence transformations that block diagonalize matrix pencils}},
+	Volume = {20},
+	Year = {1983}}
+
+@article{eisenstat1982optimal,
+	Author = {Eisenstat, S.C. and Lewis, J.W. and Schultz, M.H.},
+	Journal = {Linear Algebra Appl.},
+	Pages = {181--186},
+	Title = {{Optimal Block Diagonal Scaling of Block 2-Cyclic Matrices.}},
+	Volume = {44},
+	Year = {1982}}
+
+@article{mandel1990block,
+	Author = {Mandel, J.},
+	Journal = {Numer. Math.},
+	Number = {1},
+	Pages = {79--93},
+	Publisher = {Springer},
+	Title = {{On block diagonal and Schur complement preconditioning}},
+	Volume = {58},
+	Year = {1990}}
+
+@book{davis2006direct,
+	Author = {Davis, T.A.},
+	Publisher = {SIAM},
+	Title = {{Direct methods for sparse linear systems}},
+	Year = {2006}}
+
+@TechReport{brown-58,
+  author =       {D. C. Brown},
+  title =        {A solution to the general problem of multiple station analytical stereo triangulation},
+  institution =  {Patrick Airforce Base},
+  year =         {1958},
+  Tkey =       {AFMTC TR 58-8},
+  number =    {43},
+  address =   {Florida},
+}
+
+@book{hartley-zisserman-book-2004,
+        Author = {Hartley, R.~I. and Zisserman, A.},
+        Publisher = {Cambridge University Press},
+        Title = {Multiple View Geometry in Computer Vision},
+        Year = {2003}}
+
+
+@book{trefethen1997numerical,
+	Author = {Trefethen, L.N. and Bau, D.},
+	Publisher = {SIAM},
+	Title = {{Numerical Linear Algebra}},
+	Year = {1997}}
+
+@book{saad2003iterative,
+	Author = {Saad, Y.},
+	Publisher = {SIAM},
+	Title = {{Iterative methods for sparse linear systems}},
+	Year = {2003}}
+
+
+@book{nocedal2000numerical,
+	Author = {Nocedal, J. and Wright, S. J.},
+	Publisher = {Springer},
+	Title = {{Numerical Optimization}},
+	Year = {2000}}
+
+@book{bjorck1996numerical,
+	Author = {Bj{\"o}rck, A.},
+	Publisher = {SIAM},
+	Title = {{Numerical methods for least squares problems}},
+	Year = {1996}}
+
+@book{madsen2004methods,
+	Author = {Madsen, K. and Nielsen, H.B. and Tingleff, O.},
+	Title = {{Methods for non-linear least squares problems}},
+	Year = {2004}}
+
+
+@article{marquardt1963algorithm,
+	Author = {Marquardt, D.W.},
+	Journal = {J. SIAM},
+	Number = {2},
+	Pages = {431--441},
+	Publisher = {SIAM},
+	Title = {{An algorithm for least-squares estimation of nonlinear parameters}},
+	Volume = {11},
+	Year = {1963}}
+
+@article{levenberg1944method,
+	Author = {Levenberg, K.},
+	Journal = {Quart. Appl. Math},
+	Number = {2},
+	Pages = {164--168},
+	Title = {{A method for the solution of certain nonlinear problems in least squares}},
+	Volume = {2},
+	Year = {1944}}
+
+@article{chen2006acs,
+	Article = {22},
+	Author = {Chen, Y. and Davis, T. A. and Hager, W. W. and Rajamanickam, S.},
+	Journal = {TOMS},
+	Number = {3},
+	Title = {{Algorithm 887: CHOLMOD, Supernodal Sparse {Cholesky} Factorization and Update/Downdate}},
+	Volume = {35},
+	Year = {2008}}
+
+
+@inproceedings{triggs-etal-1999,
+	Author = {Triggs, B. and McLauchlan, P. F. and Hartley, R. I. and Fitzgibbon, A. W.},
+	Booktitle = {Vision Algorithms},
+	Pages = {298-372},
+	Title = {{Bundle Adjustment - A Modern Synthesis}},
+	Year = {1999}}
+
+
+@article{tennenbaum-director,
+Author = {Tennenbaum, J. and Director, B.},
+Title = {{How Gauss Determined the Orbit of Ceres}}
+}
+