Loading...
Searching...
No Matches
gtsam::noiseModel::Unit Class Reference

## Detailed Description

Unit: i.i.d.

unit-variance noise on all m dimensions.

Inheritance diagram for gtsam::noiseModel::Unit:

## Public Member Functions

| Unit (size_t dim=1)
| constructor for serialization
bool | isUnit () const override
| true if a unit noise model, saves slow/clumsy dynamic casting
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
| Whiten a matrix.
void | WhitenInPlace (Matrix &) const override
| In-place version.
void | WhitenInPlace (Eigen::Block< Matrix >) const override
| In-place version.
void | whitenInPlace (Vector &) const override
| in-place whiten, override if can be done more efficiently
void | unwhitenInPlace (Vector &) const override
| in-place unwhiten, override if can be done more efficiently
void | whitenInPlace (Eigen::Block< Vector > &) const override
| in-place whiten, override if can be done more efficiently
void | unwhitenInPlace (Eigen::Block< Vector > &) const override
| in-place unwhiten, override if can be done more efficiently
Public Member Functions inherited from gtsam::noiseModel::Isotropic
double | sigma () const
| Return standard deviation.
Public Member Functions inherited from gtsam::noiseModel::Diagonal
| Diagonal ()
| constructor - no initializations, for serialization
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
| Gaussian (size_t dim=1, const boost::optional< Matrix > &sqrt_information=boost::none)
| constructor takes square root information matrix
bool | equals (const Base &expected, double tol=1e-9) const override
Vector | sigmas () const override
| Calculate standard deviations.
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< Diagonal > | QR (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).
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
virtual bool | isConstrained () const
| true if a constrained 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 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 | Create (size_t dim)
| Create a unit covariance noise model.
Static Public Member Functions inherited from gtsam::noiseModel::Isotropic
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.
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.
static shared_ptr | Variances (const Vector &variances, bool smart=true)
| A diagonal noise model created by specifying a Vector of variances, i.e.
static shared_ptr | Precisions (const Vector &precisions, bool smart=true)
| A diagonal noise model created by specifying a Vector of precisions, i.e.
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.
static shared_ptr | Information (const Matrix &M, bool smart=true)
| A Gaussian noise model created by specifying an information matrix.
static shared_ptr | Covariance (const Matrix &covariance, bool smart=true)
| A Gaussian noise model created by specifying a covariance matrix.

## Public Types

typedef boost::shared_ptr< Unit > | shared_ptr
Public Types inherited from gtsam::noiseModel::Isotropic
typedef boost::shared_ptr< Isotropic > | shared_ptr
Public Types inherited from gtsam::noiseModel::Diagonal
typedef boost::shared_ptr< Diagonal > | shared_ptr
Public Types inherited from gtsam::noiseModel::Gaussian
typedef boost::shared_ptr< Gaussian > | shared_ptr
Public Types inherited from gtsam::noiseModel::Base
typedef boost::shared_ptr< Base > | shared_ptr

## Friends

class | boost::serialization::access
| Serialization function.

## Additional Inherited Members

Protected Member Functions inherited from gtsam::noiseModel::Isotropic
| Isotropic (size_t dim, double sigma)
| protected constructor takes sigma
Protected Member Functions inherited from gtsam::noiseModel::Diagonal
| Diagonal (const Vector &sigmas)
| constructor to allow for disabling initialization of invsigmas
Protected Attributes inherited from gtsam::noiseModel::Isotropic
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_

## Member Function Documentation

## isUnit()

bool gtsam::noiseModel::Unit::isUnit | ( |  | ) | const

inline override virtual

true if a unit noise model, saves slow/clumsy dynamic casting

Reimplemented from gtsam::noiseModel::Base.

## print()

void gtsam::noiseModel::Unit::print | ( | const std::string & | name | ) | const

override virtual

Reimplemented from gtsam::noiseModel::Isotropic.

## squaredMahalanobisDistance()

double gtsam::noiseModel::Unit::squaredMahalanobisDistance | ( | const Vector & | v | ) | const

override virtual

Squared Mahalanobis distance v'*R'*R*v = <R*v,R*v>.

Reimplemented from gtsam::noiseModel::Isotropic.

## unwhiten()

Vector gtsam::noiseModel::Unit::unwhiten | ( | const Vector & | v | ) | const

inline override virtual

Unwhiten an error vector.

Reimplemented from gtsam::noiseModel::Isotropic.

## unwhitenInPlace() [1/2]

void gtsam::noiseModel::Unit::unwhitenInPlace | ( | Eigen::Block< Vector > & | v | ) | const

inline override virtual

in-place unwhiten, override if can be done more efficiently

Reimplemented from gtsam::noiseModel::Base.

## unwhitenInPlace() [2/2]

void gtsam::noiseModel::Unit::unwhitenInPlace | ( | Vector & | v | ) | const

inline override virtual

in-place unwhiten, override if can be done more efficiently

Reimplemented from gtsam::noiseModel::Base.

## Whiten()

Matrix gtsam::noiseModel::Unit::Whiten | ( | const Matrix & | H | ) | const

inline override virtual

Whiten a matrix.

Reimplemented from gtsam::noiseModel::Isotropic.

## whiten()

Vector gtsam::noiseModel::Unit::whiten | ( | const Vector & | v | ) | const

inline override virtual

Whiten an error vector.

Reimplemented from gtsam::noiseModel::Isotropic.

## WhitenInPlace() [1/2]

void gtsam::noiseModel::Unit::WhitenInPlace | ( | Eigen::Block< Matrix > | H | ) | const

inline override virtual

In-place version.

Reimplemented from gtsam::noiseModel::Isotropic.

## WhitenInPlace() [2/2]

void gtsam::noiseModel::Unit::WhitenInPlace | ( | Matrix & | H | ) | const

inline override virtual

In-place version.

Reimplemented from gtsam::noiseModel::Isotropic.

## whitenInPlace() [1/2]

void gtsam::noiseModel::Unit::whitenInPlace | ( | Eigen::Block< Vector > & | v | ) | const

inline override virtual

in-place whiten, override if can be done more efficiently

Reimplemented from gtsam::noiseModel::Base.

## whitenInPlace() [2/2]

void gtsam::noiseModel::Unit::whitenInPlace | ( | Vector & | v | ) | const

inline override virtual

in-place whiten, override if can be done more efficiently

Reimplemented from gtsam::noiseModel::Isotropic.

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

- /build/gtsam-gchP9J/gtsam-4.2.2+dfsg/gtsam/linear/NoiseModel.h
- /build/gtsam-gchP9J/gtsam-4.2.2+dfsg/gtsam/linear/NoiseModel.cpp