gtsam  4.1.0
gtsam
gtsam::noiseModel::Isotropic Class Reference

Detailed Description

An isotropic noise model corresponds to a scaled diagonal covariance To construct, use one of the static methods.

+ Inheritance diagram for gtsam::noiseModel::Isotropic:

Public Member Functions

void print (const std::string &name) const override
 
double squaredMahalanobisDistance (const Vector &v) const override
 Squared Mahalanobis distance v'*R'*R*v = <R*v,R*v>
 
Vector whiten (const Vector &v) const override
 Whiten an error vector.
 
Vector unwhiten (const Vector &v) const override
 Unwhiten an error vector.
 
Matrix Whiten (const Matrix &H) const override
 Multiply a derivative with R (derivative of whiten) Equivalent to whitening each column of the input matrix.
 
void WhitenInPlace (Matrix &H) const override
 In-place version.
 
void whitenInPlace (Vector &v) const override
 in-place whiten, override if can be done more efficiently
 
void WhitenInPlace (Eigen::Block< Matrix > H) const override
 In-place version.
 
double sigma () const
 Return standard deviation.
 
- Public Member Functions inherited from gtsam::noiseModel::Diagonal
Vector sigmas () const override
 Calculate standard deviations.
 
double sigma (size_t i) const
 Return standard deviations (sqrt of diagonal)
 
const Vector & invsigmas () const
 Return sqrt precisions.
 
double invsigma (size_t i) const
 
const Vector & precisions () const
 Return precisions.
 
double precision (size_t i) const
 
Matrix R () const override
 Return R itself, but note that Whiten(H) is cheaper than R*H.
 
- Public Member Functions inherited from gtsam::noiseModel::Gaussian
bool equals (const Base &expected, double tol=1e-9) const override
 
void WhitenSystem (std::vector< Matrix > &A, Vector &b) const override
 Whiten a system, in place as well.
 
void WhitenSystem (Matrix &A, Vector &b) const override
 
void WhitenSystem (Matrix &A1, Matrix &A2, Vector &b) const override
 
void WhitenSystem (Matrix &A1, Matrix &A2, Matrix &A3, Vector &b) const override
 
virtual boost::shared_ptr< DiagonalQR (Matrix &Ab) const
 Apply appropriately weighted QR factorization to the system [A b] Q' * [A b] = [R d] Dimensions: (r*m) * m*(n+1) = r*(n+1), where r = min(m,n). More...
 
virtual Matrix information () const
 Compute information matrix.
 
virtual Matrix covariance () const
 Compute covariance matrix.
 
- Public Member Functions inherited from gtsam::noiseModel::Base
 Base (size_t dim=1)
 primary constructor More...
 
virtual bool isConstrained () const
 true if a constrained noise model, saves slow/clumsy dynamic casting
 
virtual bool isUnit () const
 true if a unit noise model, saves slow/clumsy dynamic casting
 
size_t dim () const
 Dimensionality.
 
virtual double mahalanobisDistance (const Vector &v) const
 Mahalanobis distance.
 
virtual double loss (const double squared_distance) const
 loss function, input is Mahalanobis distance
 
virtual void unwhitenInPlace (Vector &v) const
 in-place unwhiten, override if can be done more efficiently
 
virtual void whitenInPlace (Eigen::Block< Vector > &v) const
 in-place whiten, override if can be done more efficiently
 
virtual void unwhitenInPlace (Eigen::Block< Vector > &v) const
 in-place unwhiten, override if can be done more efficiently
 
virtual Vector unweightedWhiten (const Vector &v) const
 Useful function for robust noise models to get the unweighted but whitened error.
 
virtual double weight (const Vector &v) const
 get the weight from the effective loss function on residual vector v
 

Static Public Member Functions

static shared_ptr Sigma (size_t dim, double sigma, bool smart=true)
 An isotropic noise model created by specifying a standard devation sigma.
 
static shared_ptr Variance (size_t dim, double variance, bool smart=true)
 An isotropic noise model created by specifying a variance = sigma^2. More...
 
static shared_ptr Precision (size_t dim, double precision, bool smart=true)
 An isotropic noise model created by specifying a precision.
 
- Static Public Member Functions inherited from gtsam::noiseModel::Diagonal
static shared_ptr Sigmas (const Vector &sigmas, bool smart=true)
 A diagonal noise model created by specifying a Vector of sigmas, i.e. More...
 
static shared_ptr Variances (const Vector &variances, bool smart=true)
 A diagonal noise model created by specifying a Vector of variances, i.e. More...
 
static shared_ptr Precisions (const Vector &precisions, bool smart=true)
 A diagonal noise model created by specifying a Vector of precisions, i.e. More...
 
- Static Public Member Functions inherited from gtsam::noiseModel::Gaussian
static shared_ptr SqrtInformation (const Matrix &R, bool smart=true)
 A Gaussian noise model created by specifying a square root information matrix. More...
 
static shared_ptr Information (const Matrix &M, bool smart=true)
 A Gaussian noise model created by specifying an information matrix. More...
 
static shared_ptr Covariance (const Matrix &covariance, bool smart=true)
 A Gaussian noise model created by specifying a covariance matrix. More...
 

Public Types

typedef boost::shared_ptr< Isotropicshared_ptr
 
- Public Types inherited from gtsam::noiseModel::Diagonal
typedef boost::shared_ptr< Diagonalshared_ptr
 
- Public Types inherited from gtsam::noiseModel::Gaussian
typedef boost::shared_ptr< Gaussianshared_ptr
 
- Public Types inherited from gtsam::noiseModel::Base
typedef boost::shared_ptr< Baseshared_ptr
 

Protected Member Functions

 Isotropic (size_t dim, double sigma)
 protected constructor takes sigma
 
- Protected Member Functions inherited from gtsam::noiseModel::Diagonal
 Diagonal ()
 protected constructor - no initializations
 
 Diagonal (const Vector &sigmas)
 constructor to allow for disabling initialization of invsigmas
 
- Protected Member Functions inherited from gtsam::noiseModel::Gaussian
 Gaussian (size_t dim=1, const boost::optional< Matrix > &sqrt_information=boost::none)
 protected constructor takes square root information matrix
 

Protected Attributes

double sigma_
 
double invsigma_
 
- Protected Attributes inherited from gtsam::noiseModel::Diagonal
Vector sigmas_
 Standard deviations (sigmas), their inverse and inverse square (weights/precisions) These are all computed at construction: the idea is to use one shared model where computation is done only once, the common use case in many problems.
 
Vector invsigmas_
 
Vector precisions_
 
- Protected Attributes inherited from gtsam::noiseModel::Gaussian
boost::optional< Matrix > sqrt_information_
 Matrix square root of information matrix (R)
 
- Protected Attributes inherited from gtsam::noiseModel::Base
size_t dim_
 

Friends

class boost::serialization::access
 Serialization function.
 

Member Function Documentation

◆ Variance()

Isotropic::shared_ptr gtsam::noiseModel::Isotropic::Variance ( size_t  dim,
double  variance,
bool  smart = true 
)
static

An isotropic noise model created by specifying a variance = sigma^2.

Parameters
dimThe dimension of this noise model
varianceThe variance of this noise model
smartcheck if can be simplified to derived class

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