ResearchBlog‎ > ‎

[Tool] ceres-solver: A Nonlinear Least Squares Minimizer

posted Oct 17, 2012, 1:48 PM by Teng-Yok Lee

According to the official site:

Ceres Solver

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 a portable C++ library that allows for modeling and solving large complicated nonlinear least squares problems.


  • A friendly API: build your objective function one term at a time.
  • Automatic differentiation.
  • Robust loss functions.
  • Local parameterizations.
  • Threaded Jacobian evaluators and linear solvers.
  • Levenberg-Marquardt and Dogleg (Powell & Subspace) solvers.
  • Dense QR and Cholesky factorization (using Eigen) for small problems.
  • Sparse Cholesky factorization (using SuiteSparse) for large sparse problems.
  • Specialized solvers for bundle adjustment problems in computer vision.
  • Iterative linear solvers for general sparse and bundle adjustment problems.
  • Runs on Linux, Windows, Mac OS X and Android. An iOS port is underway.