Commit Graph

66 Commits (ee2f2e26be8406bf8ed01faef8333766b26016b6)

Author SHA1 Message Date
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