Commit Graph

7 Commits (0e6607d160f56bc5c97457298af01c903342eab0)

Author SHA1 Message Date
Frank Dellaert a4a6e002e5 NOISE MODEL.
This is a big edit but with no templates involed, so it should not be a big deal.

New namespace gtsam::noiseModel collects all noise models, which provide efficient whitening and chain-rule implementation needed for optimization. The class hierarchy gives us the ability to use models from full covariances to i.i.d. unit variance noise with a single interface, where the latter will be much cheaper. 

From now on, all non-linear factors take a shared_ptr to a Gaussian noise model. This is done through the parameter (const sharedGaussian& model). The use of a shared pointer allows us to share one noise models for thousands of factors, if applicable.

Just like Richard's Symbol change, there is a compile flag GTSAM_MAGIC_GAUSSIAN which allows you to use doubles, vectors, or matrices to created noise models on the fly. You have to set it to the correct dimension. Use of this is *not* encouraged and the flag will disappear after some good soul fixed all unit tests.
2010-01-18 05:38:53 +00:00
Frank Dellaert ea14959835 NoiseModel inhertance structure reversed, all constructors protected, new static "factories" 2010-01-17 17:47:23 +00:00
Frank Dellaert 87f7e05c15 Identity model 2010-01-17 15:10:10 +00:00
Frank Dellaert 8967027198 Testing R and Whiten 2010-01-17 03:29:23 +00:00
Frank Dellaert 9ddeb569b5 GaussianNoiseModel 2010-01-17 01:28:15 +00:00
Frank Dellaert 3a83e0678d KISS refactor of NoiseModel 2010-01-17 00:37:34 +00:00
Richard Roberts f0ae2c064e Merging in NoiseModel, not yet used though 2010-01-16 18:39:39 +00:00