gtsam 4.1.1
gtsam
gtsam::noiseModel::mEstimator::Huber Class Reference

Detailed Description

Huber implements the "Huber" robust error model (Zhang97ivc)

+ Inheritance diagram for gtsam::noiseModel::mEstimator::Huber:

Public Member Functions

 Huber (double k=1.345, const ReweightScheme reweight=Block)
 
double weight (double distance) const override
 
double loss (double distance) const override
 
void print (const std::string &s) const override
 
bool equals (const Base &expected, double tol=1e-8) const override
 
- Public Member Functions inherited from gtsam::noiseModel::mEstimator::Base
 Base (const ReweightScheme reweight=Block)
 
virtual double loss (double distance) const
 
virtual double weight (double distance) const =0
 
virtual void print (const std::string &s) const =0
 
virtual bool equals (const Base &expected, double tol=1e-8) const =0
 
double sqrtWeight (double distance) const
 
Vector weight (const Vector &error) const
 produce a weight vector according to an error vector and the implemented robust function
 
Vector sqrtWeight (const Vector &error) const
 square root version of the weight function
 
void reweight (Vector &error) const
 reweight block matrices and a vector according to their weight implementation
 
void reweight (std::vector< Matrix > &A, Vector &error) const
 
void reweight (Matrix &A, Vector &error) const
 
void reweight (Matrix &A1, Matrix &A2, Vector &error) const
 
void reweight (Matrix &A1, Matrix &A2, Matrix &A3, Vector &error) const
 

Static Public Member Functions

static shared_ptr Create (double k, const ReweightScheme reweight=Block)
 

Public Types

typedef boost::shared_ptr< Hubershared_ptr
 
- Public Types inherited from gtsam::noiseModel::mEstimator::Base
enum  ReweightScheme { Scalar , Block }
 
typedef boost::shared_ptr< Baseshared_ptr
 

Protected Attributes

double k_
 
- Protected Attributes inherited from gtsam::noiseModel::mEstimator::Base
ReweightScheme reweight_
 the rows can be weighted independently according to the error or uniformly with the norm of the right hand side
 

Friends

class boost::serialization::access
 Serialization function.
 

Member Function Documentation

◆ equals()

bool gtsam::noiseModel::mEstimator::Huber::equals ( const Base expected,
double  tol = 1e-8 
) const
overridevirtual

◆ loss()

double gtsam::noiseModel::mEstimator::Huber::loss ( double  distance) const
overridevirtual

◆ print()

void gtsam::noiseModel::mEstimator::Huber::print ( const std::string &  s = "") const
overridevirtual

◆ weight()

double gtsam::noiseModel::mEstimator::Huber::weight ( double  distance) const
overridevirtual

The documentation for this class was generated from the following files: