68 virtual void evalJacobian(
double& dr_dxi,
double& dr_dxj)
const = 0;
77 const size_t nodeCount);
void initialize(const size_t nodeCount)
Initialize the GMRF internal state and copy the prior factors.
Simple, scalar (1-dim) constraint (edge) for a GMRF.
void updateEstimation(mrpt::math::CVectorDouble &solved_x_inc, mrpt::math::CVectorDouble *solved_variances=nullptr)
bool eraseConstraint(const FactorBase &c)
Removes a constraint.
Abstract graph and tree data structures, plus generic graph algorithms.
std::deque< const BinaryFactorVirtualBase * > m_factors_binary
void enableProfiler(bool enable=true)
mrpt::system::CTimeLogger m_timelogger
void clearAllConstraintsByType_Binary()
std::deque< const UnaryFactorVirtualBase * > m_factors_unary
bool isProfilerEnabled() const
Versatile class for consistent logging and management of output messages.
void addConstraint(const UnaryFactorVirtualBase &listOfConstraints)
Insert constraints into the GMRF problem.
virtual double evaluateResidual() const =0
Return the residual/error of this observation.
size_t m_numNodes
number of nodes in the graph
A versatile "profiler" that logs the time spent within each pair of calls to enter(X)-leave(X), among other stats.
virtual void evalJacobian(double &dr_dx) const =0
Returns the derivative of the residual wrt the node value.
void clear()
Reset state: remove all constraints and nodes.
void clearAllConstraintsByType_Unary()
Simple, scalar (1-dim) constraint (edge) for a GMRF.
virtual double getInformation() const =0
Return the inverse of the variance of this constraint.
virtual void evalJacobian(double &dr_dxi, double &dr_dxj) const =0
Returns the derivative of the residual wrt the node values.
Sparse solver for GMRF (Gaussian Markov Random Fields) graphical models.