Class LocalParameterization

Inheritance Relationships

Base Type

  • public ceres::LocalParameterization

Derived Type

Class Documentation

class LocalParameterization : public ceres::LocalParameterization

The LocalParameterization interface definition.

This class extends the Ceres LocalParameterization class, adding the additional requirement of a Minus() method, the conceptual inverse of the already required Plus() method.

If Plus(x1, delta) -> x2, then Minus(x1, x2) -> delta

See the Ceres documentation for more details. http://ceres- solver.org/nnls_modeling.html::localparameterization

Subclassed by fuse_core::AutoDiffLocalParameterization< PlusFunctor, MinusFunctor, kGlobalSize, kLocalSize >

Public Functions

virtual bool Minus(const double *x1, const double *x2, double *delta) const = 0

Generalization of the subtraction operation.

Minus(x1, x2) -> delta

with the conditions that:

  • Minus(x, x) -> 0

  • if Plus(x1, delta) -> x2, then Minus(x1, x2) -> delta

Parameters:
  • x1[in] The value of the first variable, of size GlobalSize()

  • x2[in] The value of the second variable, of size GlobalSize()

  • delta[out] The difference between the second variable and the first, of size LocalSize()

Returns:

True if successful, false otherwise

virtual bool ComputeMinusJacobian(const double *x, double *jacobian) const = 0

The jacobian of Minus(x1, x2) w.r.t x2 at x1 == x2 == x.

Parameters:
  • x[in] The value used to evaluate the Jacobian, of size GlobalSize()

  • jacobian[out] The first-order derivative in row-major order, of size LocalSize() x GlobalSize()

Returns:

True if successful, false otherwise

Friends

friend class boost::serialization::access