2236f75527 
								
							
								 
							
						 
						
							
							
								
								linearPrepare for GaussianNewton  
							
							
							
						 
						
							2010-06-06 17:42:56 +00:00  
				
					
						
							
							
								 
						
							
							
								9ddeaa91c6 
								
							
								 
							
						 
						
							
							
								
								linking to SparseQR as a shared library results in a performance hit. The proper way is to link the static library.  
							
							... 
							
							
							
							add prepareLinear to NonlinearOptimizer so that some computation can be cached and does not happen every time. 
							
						 
						
							2010-06-05 20:46:16 +00:00  
				
					
						
							
							
								 
						
							
							
								d6267c0440 
								
							
								 
							
						 
						
							
							
								
								a preliminary version of SparseQR routines that passes the unit tests but has slightly different results as the old method when optimizing large nonlinear problems.  
							
							
							
						 
						
							2010-05-31 02:21:37 +00:00  
				
					
						
							
							
								 
						
							
							
								5f7b2ef2ee 
								
							
								 
							
						 
						
							
							
								
								return immediately if maxIterations is zero  
							
							
							
						 
						
							2010-04-28 21:35:01 +00:00  
				
					
						
							
							
								 
						
							
							
								1483de5479 
								
							
								 
							
						 
						
							
							
								
								mute the messages that has no verbosity level checking  
							
							
							
						 
						
							2010-03-31 17:43:28 +00:00  
				
					
						
							
							
								 
						
							
							
								a1273a91fc 
								
							
								 
							
						 
						
							
							
								
								Integrated blas into gtsam using autotools  
							
							
							
						 
						
							2010-03-15 18:17:43 +00:00  
				
					
						
							
							
								 
						
							
							
								d149afbec2 
								
							
								 
							
						 
						
							
							
								
								Adding lambdaMode flag - defaults to BOUNDED (bounds lambda at 1e5), CAUTIOUS is currently broken.  
							
							
							
						 
						
							2010-03-10 16:27:38 +00:00  
				
					
						
							
							
								 
						
							
							
								920d86ce35 
								
							
								 
							
						 
						
							
							
								
								Both GaussNewton and LM now exit immediately if initial error<absoluteThreshold, and pront out a messsage saying that if verbisty>=ERROR  
							
							
							
						 
						
							2010-03-07 17:51:46 +00:00  
				
					
						
							
							
								 
						
							
							
								5ef0400e06 
								
							
								 
							
						 
						
							
							
								
								put Factorization class in its own file, and added checks in constructors that take shared pointers, so we get some more meaningful output rather than *segmentation error*  
							
							
							
						 
						
							2010-03-05 15:09:09 +00:00  
				
					
						
							
							
								 
						
							
							
								d6c2b415a5 
								
							
								 
							
						 
						
							
							
								
								Added a check to NonlinearOptimizer to short circuit optimization if the initial error is below the absolute threshold.  
							
							
							
						 
						
							2010-03-04 22:46:27 +00:00  
				
					
						
							
							
								 
						
							
							
								a46dc4cea0 
								
							
								 
							
						 
						
							
							
								
								Added threshold for lambda in NonlinearOptimizer so that if lambda has gotten unreasonably large, optimization will throw a runtime exception to prevent infinite loops where lambda goes to infinity.  
							
							
							
						 
						
							2010-03-01 16:31:05 +00:00  
				
					
						
							
							
								 
						
							
							
								807cffbd61 
								
							
								 
							
						 
						
							
							
								
								Pose2SLAMOptimizer prototype for use in MATLAB  
							
							
							
						 
						
							2010-01-23 00:57:54 +00:00  
				
					
						
							
							
								 
						
							
							
								490791cd48 
								
							
								 
							
						 
						
							
							
								
								add writer module to dump the errors and time  
							
							
							
						 
						
							2010-01-22 08:13:54 +00:00  
				
					
						
							
							
								 
						
							
							
								3bf15333af 
								
							
								 
							
						 
						
							
							
								
								move ordering into the solver, and the nonlinear optimizer is now exact <G, T, L>  
							
							
							
						 
						
							2010-01-20 02:28:23 +00:00  
				
					
						
							
							
								 
						
							
							
								3806125096 
								
							
								 
							
						 
						
							
							
								
								add linear system as a template parameter in nonlinear optimizer  
							
							... 
							
							
							
							fixed a nasty bug and change the internal data type of subgraph preconditioner from reference to boost shared pointer. reference is not a good idea for class members, because no type checking will happen 
							
						 
						
							2010-01-19 10:46:12 +00:00  
				
					
						
							
							
								 
						
							
							
								ebbdfc79aa 
								
							
								 
							
						 
						
							
							
								
								comment out overflow exception  
							
							
							
						 
						
							2010-01-19 04:18:59 +00:00  
				
					
						
							
							
								 
						
							
							
								05b07d443e 
								
							
								 
							
						 
						
							
							
								
								add linear system solver as a template class parameter in nonlinear optimizer.  
							
							
							
						 
						
							2010-01-18 05:51:19 +00:00  
				
					
						
							
							
								 
						
							
							
								f5a6a10feb 
								
							
								 
							
						 
						
							
							
								
								debug hard constraint and make pose2prior work  
							
							
							
						 
						
							2010-01-16 05:08:29 +00:00  
				
					
						
							
							
								 
						
							
							
								a956c1a8be 
								
							
								 
							
						 
						
							
							
								
								svn restored from 1733.  
							
							... 
							
							
							
							this commit updates gtsam to version 1774, which now appears as 1734. 
							
						 
						
							2010-01-16 01:16:59 +00:00  
				
					
						
							
							
								 
						
							
							
								2c8d8dbde4 
								
							
								 
							
						 
						
							
							
								
								NonlinearOptimizer constructor now requires shared_ptr to prevent storing pointers to stack and temporary variables.  Code that uses it will need to be modified, but CitySLAM is already done.  
							
							
							
						 
						
							2010-01-11 20:17:28 +00:00  
				
					
						
							
							
								 
						
							
							
								19a3e228d7 
								
							
								 
							
						 
						
							
							
								
								Large refactoring - made several Lie group functions global, which used to be member functions, to treat Lie groups more uniformly.  Also created Lie.h, and a preprocessor flag in numericalDerivative to change the coordinate frame derivatives are reported in.  gtsam and easylib build and pass unit tests, but this will probably break other projects, which will require a few small changes to work again.  Email coming in a few minutes to describe the changes.  
							
							
							
						 
						
							2010-01-08 00:40:17 +00:00  
				
					
						
							
							
								 
						
							
							
								971b575715 
								
							
								 
							
						 
						
							
							
								
								Fix duplicate definition error by adding 'inline' to checkConvergence  
							
							
							
						 
						
							2009-12-14 06:10:51 +00:00  
				
					
						
							
							
								 
						
							
							
								a3ce3f31c8 
								
							
								 
							
						 
						
							
							
								
								Cleanup with NonlinearConstraints to make the active() function do thresholding for inequality constraints, rather than constraint function itself.  
							
							... 
							
							
							
							testSQP now has all tests active and passing.
Added greaterThanOrEqual() for vector comparison. 
							
						 
						
							2009-11-30 17:36:34 +00:00  
				
					
						
							
							
								 
						
							
							
								77a1754b69 
								
							
								 
							
						 
						
							
							
								
								Renamed LinearFactor -> GaussianFactor, LinearFactorGraph -> GaussianFactorGraph  
							
							
							
						 
						
							2009-11-12 16:16:32 +00:00  
				
					
						
							
							
								 
						
							
							
								e1716a39cd 
								
							
								 
							
						 
						
							
							
								
								Two changes: LinearFactor::sparse and LinearFactorGraph:sparse, and renamed VariableSet -> Dimensions, which is now a map from keys to integer variable dimensions.  Merged in from the "sparse" branch created with Viorela.  
							
							
							
						 
						
							2009-11-06 05:43:03 +00:00  
				
					
						
							
							
								 
						
							
							
								19bdb5c2f9 
								
							
								 
							
						 
						
							
							
								
								Better name for delta: linearizeAndOptimizeForDelta  
							
							
							
						 
						
							2009-10-19 19:12:48 +00:00  
				
					
						
							
							
								 
						
							
							
								7d0a30c20f 
								
							
								 
							
						 
						
							
							
								
								Renamed FGConfig to VectorConfig in gtsam, easylib, EasySLAM, and mast.  
							
							
							
						 
						
							2009-10-14 20:39:59 +00:00  
				
					
						
							
							
								 
						
							
							
								989f290c99 
								
							
								 
							
						 
						
							
							
								
								'''BIG CHANGE''': avoid converting back and to FGConfigs by templating on configuration type. Details:  
							
							... 
							
							
							
							* Factors are now templated on the configuration type. Factor Graphs are now templated on the factor type and configuration type.
 * LinearFactor is a factor on an FGConfig.
 * LinearFactorGraph uses LinearFactor and FGConfig.
 * NonLinearFactor is still templated on Config.
 * NonLinearFactorGraph uses NonLinearFactors, but is still templated on Config.
 * Tests and VSLAMFactor have been updated to reflect those changes. 
							
						 
						
							2009-10-06 18:25:04 +00:00  
				
					
						
							
							
								 
						
							
							
								68e20eec2c 
								
							
								 
							
						 
						
							
							
								
								2 BIG changes:  
							
							... 
							
							
							
							(1) FactorGraph and NonlinearOptimizer now no longer have a .cpp file, but a -inl.h file as in [http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml  Google's C++ Style Guide]. This means if you expect to instantiate one of the functions in a cpp file, you have to include the -inl.h file.
(1) getOrdering is now in FactorGraph, and the non-linear version does *not* take a config anymore. 
Long version: I made this change because colamd works on the graph structure alone, and should not depend on the type of graph. Instead, because getOrdering happened to implemented in LinearFactorGraph first, the non-linear version converted to a linear factor graph (at the cost of an unnecessary linearization), and then threw all that away to call colamd. To implement this in a key-neutral way (a hidden agenda), i had to modify the keys_ type to a list, so a lot of changes resulted from that. 
							
						 
						
							2009-09-13 04:13:03 +00:00