Commit Graph

18 Commits (807cffbd6133cefb82ae57ca7c0d9bf6c7ccdfef)

Author SHA1 Message Date
Frank Dellaert 807cffbd61 Pose2SLAMOptimizer prototype for use in MATLAB 2010-01-23 00:57:54 +00:00
Frank Dellaert 2150b24e29 Fixed memory hog problem with Alex's help. SAM marginally faster (3-4% with 1000 poses, might be bigger effect for full dataset) 2010-01-22 23:00:35 +00:00
Frank Dellaert 351cdd18c2 case change: SharedGaussian and SharedDiagonal are now classes with their own header file. Needed for MATLAB TORO hail Mary 2010-01-22 17:36:57 +00:00
Alex Cunningham ac746ccead Improved performance of updateAb in NoiseModel with GSL/ATLAS. Various other small optimizations were made. 2010-01-21 18:51:59 +00:00
Frank Dellaert 0dc4f417e9 sampling from NoiseModel 2010-01-21 08:31:18 +00:00
Alex Cunningham 5f588031bc Merged NoiseQR back into trunk 2010-01-20 18:32:48 +00:00
Alex Cunningham 9c9007920a Changed the interface on Matrix::column() so that it uses the one in our library (now called column_() ) rather than the boost default. Currently, our implementation just uses the boost default, but this may change due to timing results. 2010-01-20 16:08:14 +00:00
Frank Dellaert b47438a86c Smart named constructors Covariance/Variances/Variance 2010-01-20 00:26:49 +00:00
Frank Dellaert 3cdbaf81c7 Factorgraph-specific QR factorization now done by the NoiseModel: slow Gram-Schmidt for Constrained, fast Housholder for any other (Gaussian) model. 2010-01-19 19:06:02 +00:00
Frank Dellaert 81aaceb890 Whiten now class-specific, access to sigmas 2010-01-19 04:38:58 +00:00
Richard Roberts 5e15564525 Speedups: Matrix mult. in Gaussian NoiseModel. Removed size check in operator* in Matrix.h - ublas does this check when in debug mode. 2010-01-18 21:45:44 +00:00
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