Commit Graph

128 Commits (8846324b34e09392aaa2e25b9882251e423b0fad)

Author SHA1 Message Date
Richard Roberts e1ef219916 Added optional ordering for creating dense jacobian and hessian matrices from GaussianFactorGraph 2013-09-20 15:25:16 +00:00
Richard Roberts f3fdf8abe9 Reenabled some code relating to Hessian factors that I had accidently left disabled 2013-08-18 17:17:09 +00:00
Richard Roberts c2284a3d6b Changed FastVector to vector in GFG and ISAM2 2013-08-12 18:21:23 +00:00
Richard Roberts 0726a5ffbc Instantiating template base classes in derived class .cpp files 2013-08-08 16:30:02 +00:00
Richard Roberts e39d100b6a Made most global unit tests compile, includes dogleg, iterative, kalman filter, etc 2013-08-06 13:44:22 +00:00
Richard Roberts 00c1036814 Reenabled some GFG functions 2013-08-05 22:31:01 +00:00
Richard Roberts 2b9105b0ce Added optional ordering to GFG::optimize() 2013-08-01 21:57:24 +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 67f3109e75 Fixed warnings in preexisting code 2013-07-01 20:19:36 +00:00
Richard Roberts b1fdf32a8c Progress on unordered linear classes 2013-06-28 18:14:07 +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
Richard Roberts 547323cc79 Fixed a bunch of compiler warnings 2013-04-05 21:34:04 +00:00
Richard Roberts ee2f2e26be Moved findScatterAndDims to Scatter class constructor, moved code to combine multiple Hessians into Hessian constructor, and removed need to separately provide a vector of dimensions to this constructor - instead pulls dimensions out of Scatter. 2013-03-18 19:27:58 +00:00
Richard Roberts 4278e2b9dc Including BayesTree.h instead of BayesTree-inl.h 2013-03-13 18:56:25 +00:00
Richard Roberts fe8fc6dd24 Fix in findScatterAndDims to ignore null factors instead of dereferencing them 2013-03-05 05:47:25 +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 5b9271cb97 VV work 2012-11-23 23:22:53 +00:00
Richard Roberts 600fcd027d Moved wrapper functions to header file to clean up code 2012-10-28 06:21:15 +00:00
Richard Roberts 24111423d7 Made specific eliminate and eliminateOne methods for SymbolicFactorGraph and GaussianFactorGraph and made them accessible from MATLAB 2012-10-27 19:45:28 +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 fb409a2cc7 Implemented partial elimination and sparse variable index remapping (Reduction) to enable Frank's new marginal code 2012-10-01 16:12:41 +00:00
Richard Roberts 6d1b86c2e0 Moved JacobianFactor type check/conversion functions into SubgraphSolver instead of GaussianFactorGraph and JacobianFactor 2012-09-06 14:33:44 +00:00
Yong-Dian Jian 574a9711cc add a conversion function from GaussianFactorGraph to JacobianFactorGraph 2012-09-06 01:21:15 +00:00
Yong-Dian Jian 4443752a18 clean the gfg to jfg conversion code 2012-09-05 17:04:48 +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
Richard Roberts 73f8c0830b Created new dense matrix functions in GaussianFactorGraph returning pair<Matrix,Vector> for easier access, and renamed functions to augmentedJacobian, augmentedHessian, jacobian, hessian 2012-09-04 15:05:57 +00:00
Richard Roberts 3b897cddc9 Added eliminateFrontals function to FactorGraph, SymbolicFactorGraph, and GaussianFactorGraph - eliminates requested number of frontal variables and returns the resulting conditional and remaining factor graph 2012-08-30 19:58:33 +00:00
Richard Roberts 3e93c488e5 Removed extra code that was sometimes maintaining a staircase pattern in JacobianFactor by sorting rows - a holdover from the staircase optimization that is no longer done now that we are using Eigen's QR 2012-08-27 22:29:56 +00:00
Richard Roberts 1dbda3f7ed Standardized and corrected error handling on the linear size - underconstrained and negative systems always throw IndeterminantLinearSystemException, and all assertions checking for infinite values are removed. Also, we were not properly checking the result of Eigen's Cholesky, so sometimes elimination continued with incorrect matrices despite being underconstrained when Cholesky failed but did not produce NaN's. 2012-08-22 22:40:27 +00:00
Richard Roberts f704dbe0c2 Fixed formatting 2012-08-22 22:40:17 +00:00
Stephen Williams cf0c5bde3a Changed helper function signature to match the actual variables used in the function call 2012-08-02 18:41:07 +00:00
Richard Roberts d57fc32e74 To simplify FactorGraph, removed convertCastFactors and dynamicCastFactors from FactorGraph - replaced their calls with in-place code to do the needed conversions 2012-06-18 14:55:30 +00:00
Richard Roberts 1ce95c1d89 Removed LDL in favor of Cholesky 2012-05-15 15:49:14 +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 75428b13fe Revert "Using FastVector instead of vector in most code called during elimination and solving"
This reverts commit 566631cb42249cb710ef01d07d583e563afccea9.
2012-02-13 20:27:54 +00:00
Richard Roberts 965417ea1b Fixed indentation 2012-02-10 19:47:35 +00:00
Richard Roberts 263b50d85a Using FastVector instead of vector in most code called during elimination and solving 2012-02-10 15:56:01 +00:00
Frank Dellaert 9bad4f67eb [with Alex and Richard] Fixed major bug when constraints are present, but it was never encountered because of the global useQR flag. Re-arranged some other things. 2012-01-20 20:47:30 +00:00
Richard Roberts 8bf0b3c04c Small fix in printing debug info 2012-01-18 20:42:53 +00:00
Richard Roberts b031996bbc Fixed denseHessian bug - was only returning upper triangle, now returns full matrix 2012-01-18 15:42:00 +00:00
Frank Dellaert c792a73e9f rename of conditionals to conditional.. 2012-01-10 19:46:52 +00:00
Alex Cunningham 927217ba4b Cleanup from FactorGraph-inl.h 2011-12-21 16:59:37 +00:00
Richard Roberts e75e4321af (in branch) slight simplification of HessianFactor eliminate code - fill in keys when the combined factor is first constructed so it is a complete factor 2011-12-13 18:45:21 +00:00
Richard Roberts e6a43d6330 (in branch) Dogleg in ISAM2 in progress 2011-11-12 21:19:46 +00:00
Alex Cunningham bdc2d8f996 Fixed switching to QR for constrained graphs 2011-11-10 19:44:03 +00:00
Richard Roberts 53dfa5dbb9 Merging Dogleg into trunk 2011-11-05 21:29:02 +00:00
Frank Dellaert 03280f2446 renamed sparse to sparseJacobian_ 2011-10-30 20:38:08 +00:00
Richard Roberts 5408ab0a2d Made GaussianFactorGraph::sparse and sparseJacobian functions take no arguments, and instead compute column indices internally 2011-10-29 23:12:58 +00:00
Frank Dellaert 65616dbde5 Matrix version of sparseJacobian for MATLAB wrapping, unit-tested in linear now 2011-10-29 04:01:03 +00:00
Alex Cunningham 3b5c6e8cef Removed old Testable base class 2011-10-20 02:11:28 +00:00
Richard Roberts 2b1f7f8446 Added GaussianFactorGraph::denseHessian to get factor graph hessian 2011-09-16 05:32:04 +00:00
Frank Dellaert 0e3b96db60 Added exception handling code but has not yet been exercised! Chris will do so... 2011-09-05 21:27:41 +00:00
Frank Dellaert 94f4f2959e header bloat 2011-09-03 19:20:56 +00:00
Richard Roberts b57210efcc Levenberg-Marquardt increases lambda when the Hessian is indefinite or negative by catching an exception 2011-08-24 20:51:54 +00:00
Alex Cunningham 778001f63e assorted cleanup - mostly comments and adding implementations to cpp files, rather than in header files 2011-06-13 20:01:58 +00:00
Alex Cunningham fa4faa274a Merge branch 'prep_0.9.3' 2011-06-13 16:55:31 +00:00
Alex Cunningham b498d64554 Added denseJacobian() to GaussianFactorGraph 2011-06-04 17:18:25 +00:00
Alex Cunningham 79c09708e8 Assorted cleanup to remove ublas references, switch more Vector/Matrix utility functions to use Eigen in templates, reimplemented backsubstitution with Eigen 2011-06-02 20:35:02 +00:00
Alex Cunningham e20561be73 Merge branch 'eigen' 2011-05-20 13:52:08 +00:00
Frank Dellaert 5c193422af Major change, elimination functions are now passed an "Eliminate function", so you can select at run-time which factorization method is used (symbolic, QR, etc...). 2011-03-24 19:27:12 +00:00
Richard Roberts bdbc09ba42 Added GaussianFactorGraph::sparseJacobian function to create a sparse Jacobian matrix suitable for Matlab 2011-02-04 03:56:47 +00:00
Richard Roberts 62f716002a Further cleanup of fast_pool_allocator 2011-02-04 03:10:29 +00:00
Richard Roberts 4880257e69 Merging hessianfactor branch, Cholesky is now default and GaussianFactor is virtual (see email to frankcvs) 2011-01-20 22:22:00 +00:00
Richard Roberts a8a584d38e Rolling back last commit (undoing merge of hessianfactor branch) - does not compile on Linux, could be compiler or boost version problems. Also will probably break Alex's stuff so will work that out before merging. 2010-12-17 01:11:28 +00:00
Richard Roberts de1892016d Merged in hessianfactor branch, Cholesky is now default. This merge also includes improved timing statements with automatic outlining and low overhead 2010-12-17 00:51:51 +00:00
Richard Roberts a6fd5ff9e2 Removed unused inference-inl.h and testOrdering.cpp, added unit test for ordering with unobserved variables. 2010-12-09 01:34:20 +00:00
Richard Roberts a9370dead4 Fixed indentation 2010-11-22 20:54:49 +00:00
Yong-Dian Jian 1193d2f9be take out two spcg specific functions from gaussian factor graph 2010-11-16 17:17:40 +00:00
Richard Roberts d6929d4409 Storing variable index in solver, saved between nonlinear iterations 2010-11-15 23:01:50 +00:00
Richard Roberts 05b0110ac2 Made private some members that should not have been public 2010-11-06 20:57:07 +00:00
Richard Roberts c018fb229b Removed unused class GaussianFactorSet 2010-11-05 19:58:17 +00:00
Yong-Dian Jian 74e82fb615 bug fix 2010-11-04 14:48:17 +00:00
Richard Roberts 92ddabc4ac Moved CCOLAMD call into non-templated code to avoid dependency of projects on CCOLAMD includes. Removed unused includes and unnecessary templates in Inference at the same time 2010-11-03 21:33:27 +00:00
Yong-Dian Jian c9b57ccd74 new functions for cg solver 2010-11-02 16:04:23 +00:00
Yong-Dian Jian b53bcc7d66 add preconditioned conjugate gradient 2010-10-28 03:26:03 +00:00
Richard Roberts 2c90e3d836 Moved the subdirectories that compile into libgtsam.la into a 'gtsam' subdirectory. Hopefully a good fix for the problem we had trying to make a gtsam distribution, that the source directory may not be called 'gtsam'. 2010-10-25 20:10:33 +00:00