Class MarginalCostFunction
- Defined in File marginal_cost_function.hpp 
Inheritance Relationships
Base Type
- public ceres::CostFunction
Class Documentation
- 
class MarginalCostFunction : public ceres::CostFunction
- Implements a cost function designed for precomputed marginal distributions. - The cost function is of the form: cost(x) = || A1 * (x1 - x1_bar) + A2 * (x2 - x2_bar) + … + An * (xn - xn_bar) + b || || ||- || ||^2 - where, the A matrices and the b vector are fixed, x_bar is the linearization point used when calculating the A matrices and b vector, and the minus operator in (x - x_bar) is provided by the variable’s local parameterization. - The A matrices can have any number of rows, but they must all be the same. The number of columns of each A matrix must match the associated variable’s local parameterization size, and the number of rows of each x_bar must match the associated variable’s global size. The cost function will have the same number of residuals as the rows of A. - Public Functions - Construct a cost function instance. - Parameters:
- A – [in] The A matrix of the marginal cost (of the form A*(x - x_bar) + b) 
- b – [in] The b vector of the marginal cost (of the form A*(x - x_bar) + b) 
- x_bar – [in] The linearization point of the involved variables 
- local_parameterizations – [in] The local parameterization associated with the variable 
 
 
 - 
virtual ~MarginalCostFunction() = default
- Destructor. 
 - 
bool Evaluate(double const *const *parameters, double *residuals, double **jacobians) const override
- Compute the cost values/residuals, and optionally the Jacobians, using the provided variable/parameter values.