Class LocalParameterization
Defined in File local_parameterization.hpp
Inheritance Relationships
Base Type
public ceres::LocalParameterization
Derived Type
public fuse_core::AutoDiffLocalParameterization< PlusFunctor, MinusFunctor, kGlobalSize, kLocalSize >
(Template Class AutoDiffLocalParameterization)
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 requiredPlus()
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 ~LocalParameterization() = default
Destroy the Local Parameterization object.
-
virtual int GlobalSize() const = 0
Size of x.
- Returns:
int Size of x.
-
virtual int LocalSize() const = 0
Size of delta.
- Returns:
int Size of delta
-
virtual bool Plus(const double *x, const double *delta, double *x_plus_delta) const = 0
Generalization of the addition operation,.
x_plus_delta = Plus(x, delta)
with the condition that Plus(x, 0) = x.
- Parameters:
x – [in] variable of size
GlobalSize()
delta – [in] variable of size
LocalSize()
x_plus_delta – [out] of size
GlobalSize()
-
virtual bool ComputeJacobian(const double *x, double *jacobian) const = 0
The jacobian of Plus(x, delta) w.r.t delta at delta = 0.
- Parameters:
x – [in] variable of size
GlobalSize()
jacobian – [out] a row-major GlobalSize() x LocalSize() matrix.
- Returns:
-
virtual bool Minus(const double *x, const double *y, double *y_minus_x) const = 0
Generalization of the subtraction operation.
Minus(x, y) -> y_minus_x
with the conditions that:
Minus(x, x) -> 0
if Plus(x, delta) -> y, then Minus(x, y) -> delta
- Parameters:
x – [in] The value of the first variable, of size
GlobalSize()
y – [in] The value of the second variable, of size
GlobalSize()
y_minus_x – [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(x, y) w.r.t y at x == y.
- 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()
xGlobalSize()
- Returns:
True if successful, false otherwise
Friends
- friend class boost::serialization::access
-
virtual ~LocalParameterization() = default