.. _chapter-modeling_faqs:

.. default-domain:: cpp

.. cpp:namespace:: ceres

========
Modeling
========

Use analytical/automatic derivatives
====================================

This is the single most important piece of advice we can give to you. It is
tempting to take the easy way out and use numeric differentiation. This is a bad
idea. Numeric differentiation is slow, ill-behaved, hard to get right, and
results in poor convergence behaviour.

Ceres allows the user to define templated functors which will be automatically
differentiated. For most situations this is enough and we recommend using this
facility. In some cases the derivatives are simple enough or the performance
considerations are such that the overhead of automatic differentiation is too
much. In such cases, analytic derivatives are recommended.

The use of numerical derivatives should be a measure of last resort, where it is
simply not possible to write a templated implementation of the cost function.

In many cases it is not possible to do analytic or automatic differentiation of
the entire cost function, but it is generally the case that it is possible to
decompose the cost function into parts that need to be numerically
differentiated and parts that can be automatically or analytically
differentiated.

To this end, Ceres has extensive support for mixing analytic, automatic and
numeric differentiation. See :class:`CostFunctionToFunctor`.

When using Quaternions, consider using :class:`QuaternionManifold`
==================================================================

`Quaternions <https://en.wikipedia.org/wiki/Quaternion>`_ are a four dimensional
parameterization of the space of three dimensional rotations :math:`SO(3)`.
However, the :math:`SO(3)` is a three dimensional set, and so is the tangent
space of a Quaternion. Therefore, it is sometimes (not always) beneficial to
associate a local parameterization with parameter blocks representing a
Quaternion. Assuming that the order of entries in your parameter block is
:math:`w,x,y,z`, you can use :class:`QuaternionManifold`.

.. NOTE::

 If you are using `Eigen's Quaternion
 <http://eigen.tuxfamily.org/dox/classEigen_1_1Quaternion.html>`_
 object, whose layout is :math:`x,y,z,w`, then you should use
 :class:`EigenQuaternionManifold`.


How do I solve problems with general linear & non-linear **inequality** constraints with Ceres Solver?
======================================================================================================

Currently, Ceres Solver only supports upper and lower bounds constraints on the
parameter blocks.

A crude way of dealing with inequality constraints is have one or more of your
cost functions check if the inequalities you are interested in are satisfied,
and if not return false instead of true. This will prevent the solver from ever
stepping into an infeasible region.

This requires that the starting point for the optimization be a feasible point.
You also risk pre-mature convergence using this method.

How do I solve problems with general linear & non-linear **equality** constraints with Ceres Solver?
====================================================================================================

There is no built in support in ceres for solving problems with equality
constraints.  Currently, Ceres Solver only supports upper and lower bounds
constraints on the parameter blocks.

The trick described above for dealing with inequality constraints will **not**
work for equality constraints.

How do I set one or more components of a parameter block constant?
==================================================================

Using :class:`SubsetManifold`.
