Commit Graph

62 Commits (ede0805fac13175429e47f75a0aa6109f7edf7d3)

Author SHA1 Message Date
Richard Roberts ede0805fac Global find+replace to remove Ordered 2013-08-05 22:31:44 +00:00
Richard Roberts cb7eb1b510 Find+replace Ordered headers 2013-08-05 22:31:33 +00:00
Richard Roberts 0d05bf5ac5 Started on HessianFactor, converted Nonlinear stuff and disabled a lot of more advanced classes so the library compiles with nonlinear using unordered. 2013-08-01 21:57:43 +00:00
Richard Roberts 3ade190128 Renamed old classes to "Ordered" and removed "Unordered" name from new classes 2013-07-29 23:55:40 +00:00
Richard Roberts 77a1e9a485 Added ISAM2::marginalCovariance function. 2013-06-29 02:19:03 +00:00
Richard Roberts 32066ca358 Comment fixes 2013-06-20 16:28:41 +00:00
Richard Roberts 84903d05c2 Fixed iSAM2 bug where assignment operator and copy constructor may cause null pointer exception when trying to clone cached linear factors, which become null by calling marginalizeLeaves with linear factor caching enabled. 2013-06-04 17:34:03 +00:00
Richard Roberts e6993668ef Disabled extra debug-mode consistency checks that may affect runtime complexity, these are now only enabled when GTSAM_EXTRA_CONSISTENCY_CHECKS is defined 2013-05-20 17:26:53 +00:00
Stephen Williams 9c4e19d141 Added optional iSAM2 parameter that forces extra keys into the re-eliminated set. This can be used to force certain keys to be re-ordered. 2013-04-08 18:05:48 +00:00
Richard Roberts 2c53a58c9f Added number of factors recalculated to ISAM2Result 2013-04-02 17:36:50 +00:00
Richard Roberts f773a34834 Renamed experimentalMarginalizeLeaves to marginalizeLeaves and added comment 2013-03-26 20:46:08 +00:00
Richard Roberts e2aca2039e Further fix in iSAM2 marginalization 2013-03-20 13:48:16 +00:00
Richard Roberts 596c5cdae8 Revamped ISAM2::marginalizeLeaves again, more tree algorithm instead of relying on sorted keys, hopefully correct this time. 2013-03-18 19:28:02 +00:00
Richard Roberts 4278e2b9dc Including BayesTree.h instead of BayesTree-inl.h 2013-03-13 18:56:25 +00:00
Richard Roberts 72db4793c5 Fixed bugs in iSAM2 leaf marginalization found in HMF testing - set of factors to remove, adding new leaf clique from remaining variables. Also relies on bug fix in BayesTree::removeClique a couple of commits ago. 2013-03-05 05:47:27 +00:00
Richard Roberts cd300bfeff First pass at marginalization of leaves in iSAM2 - passes unit tests but needs to be tested on real data 2013-02-24 19:09:54 +00:00
Richard Roberts 717fa5781b Comment formatting 2013-02-24 19:09:51 +00:00
Richard Roberts b4f5413989 Added an argument to ISAM2::update to not change the linearization point of a given set of variables 2013-02-21 15:59:50 +00:00
Richard Roberts 013705232c Maintain reverse-lookup inside of Ordering, to allow fast partial permutations, and modified iSAM2 to use partial permutations on Ordering. Removed InvertedOrdering and updated other GTSAM code and unit tests to use the Ordering reverse-lookup function "key" instead of calculating and inverse ordering. 2013-01-08 23:31:06 +00:00
Richard Roberts 4cb66dcdcc For speed, added partial permutation version of VectorValues::permuteInPlace and removed Permutation::partialPermutation (which generated a full-length permutation with only a few entries rearranged) 2012-12-18 14:21:58 +00:00
Richard Roberts b58fb71377 Some usage (still more to do) of sparse and partial permutations in iSAM2 partial reordering to improve asymptotic performance. 2012-12-18 14:21:28 +00:00
Richard Roberts 7309aa0ffa Unit tests pass with piecewise VectorValues implementation (for fast permutations) 2012-12-18 14:21:02 +00:00
Richard Roberts bd285fbb52 Merge remote-tracking branch 'svn/trunk' into isam2-chain-optimization
Conflicts:
	gtsam/linear/HessianFactor.cpp
	gtsam/linear/VectorValues.cpp
2012-12-18 14:20:31 +00:00
Richard Roberts 5b9271cb97 VV work 2012-11-23 23:22:53 +00:00
Richard Roberts 0c3761a2a9 Reverted r14178, r14179, r14195, r14196 (isam2 chain optimizations) to move them to a branch 2012-11-11 20:51:03 +00:00
Richard Roberts 4512e4c85d Some usage (still more to do) of sparse and partial permutations in iSAM2 partial reordering to improve asymptotic performance. 2012-11-03 21:10:58 +00:00
Stephen Williams 5505483111 Fixed bug in iSAM2 when removing factors/variables. The set of ordering constraints should not contain unaffected variables. 2012-10-21 02:09:58 +00:00
Richard Roberts 89b50e7679 Renamed tic -> gttic and toc -> gttoc to avoid conflict with PCL tic/toc 2012-10-02 20:18:41 +00:00
Richard Roberts 4876cc7ff7 Revamped timing statements - much easier to use, exception-safe (see email to frankcvs list) 2012-10-02 18:36:39 +00:00
Chris Beall 4297d24c96 changed tabs to spaces for consistent indentation in all of GTSAM 2012-10-02 14:40:07 +00:00
Richard Roberts b0508cc1a8 Removed JacobianFactorGraph - moved its linear algebra interface to GaussianFactorGraph and redirected all uses of it to GaussianFactorGraph 2012-09-04 22:42:09 +00:00
Stephen Williams 1a8dc9bdcc Only execute the RemoveVariables code in iSAM2 if there actually are variables to remove. 2012-08-01 21:31:19 +00:00
Stephen Williams 4b3edb0889 Wrapped iSAM2 2012-07-19 19:50:00 +00:00
Richard Roberts 384f50f1fe Removed debug-only variable in iSAM2 that was causing a crash when gtsam was compiled with NDEBUG defined and a project compiled without it defined, or vice-versa 2012-07-10 22:42:28 +00:00
Richard Roberts 59c6234d4f Reworked variable removal in iSAM2 to hopefully fix difficult bug 2012-07-06 18:33:01 +00:00
Stephen Williams 134951f21c In iSAM2, added a check in the Batch-mode path that checks if linearized factors should be stored for performance reasons. Without this, factors were cached in batch-mode but not in the normal incremental-mode, leading to inconsistency 2012-07-05 18:59:10 +00:00
Stephen Williams f55612d381 Moved the 'markKeys' generation in iSAM2 until after the call to RemoveVariables. Since the 'RemoveVariables' function permutes the ordering, this ensures markedKeys uses the correct indices 2012-07-05 18:50:09 +00:00
Stephen Williams f575cb4cc0 Fixed bug in iSAM2 where variables are deleted inside of iSAM2 even though they appear in the set of new, incoming factors 2012-07-05 18:37:08 +00:00
Richard Roberts 806d86513d Fixed bug in iSAM2 variable removal where removed variables still became marked when marking relin-affected variables 2012-07-05 17:08:05 +00:00
Richard Roberts 96fc5991db Automatic removal of unused variables in iSAM2 working in unit tests! 2012-06-30 22:32:49 +00:00
Richard Roberts 57ca7d77db Removed Permuted views to simplify a lot of code - all objects that need to be permuted now have their data rearranged instead of using the "Permuted" indirection class. 2012-06-30 01:45:21 +00:00
Stephen Williams c7ff913f64 Added yet another configuration parameter to iSAM2. 'enablePartialRelinearizationCheck' checks variables for relinearization by descending the Bayes tree. Once a variable does not need to be relinearized, we stop checking that branch. A full check is still the default. 2012-06-28 20:46:53 +00:00
Yong-Dian Jian a9c36fc172 move linear algebra functions for jacobian factor graph to a new file 2012-06-07 01:24:19 +00:00
Richard Roberts 8f43298d21 Whitespace 2012-05-24 20:11:45 +00:00
Richard Roberts 1ce95c1d89 Removed LDL in favor of Cholesky 2012-05-15 15:49:14 +00:00
Alex Cunningham cb017fee80 tested and documented ability to swap factors with ISAM2 2012-05-01 18:54:44 +00:00
Richard Roberts 792c8ee55a Detailed results optionally returned by ISAM2::update, with the status of each variable 2012-04-12 03:04:32 +00:00
Richard Roberts 91e7dc5882 Caching linearized factors in iSAM2, improves speed when linearization is expensive
Merge remote-tracking branch 'svn/branches/iSAM2_cache_linearized' into trunk

Conflicts:
	.cproject
2012-04-11 14:17:59 +00:00
Richard Roberts 45f2101f48 Fixed deep copy in iSAM2 and added unit test to reproduce problem 2012-04-06 18:56:07 +00:00
Richard Roberts 14d20cff0b Bug fix when getting nonlinear error debug statistics 2012-04-03 23:20:03 +00:00