4a854f7e22 
								
							
								 
							
						 
						
							
							
								
								No using namespace in headers  
							
							
							
						 
						
							2014-10-15 11:01:27 +02:00  
				
					
						
							
							
								 
						
							
							
								898c06ccbb 
								
							
								 
							
						 
						
							
							
								
								New multi-threaded, realistic SFM example (1M factors, not 1M calls on same factor)  
							
							
							
						 
						
							2014-10-15 11:01:02 +02:00  
				
					
						
							
							
								 
						
							
							
								79ff0c54f9 
								
							
								 
							
						 
						
							
							
								
								createUnknowns  
							
							
							
						 
						
							2014-10-15 10:38:54 +02:00  
				
					
						
							
							
								 
						
							
							
								00d0a7b045 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'feature/BAD_stackAb' into feature/BAD  
							
							
							
						 
						
							2014-10-15 01:20:01 +02:00  
				
					
						
							
							
								 
						
							
							
								9b1c9bbf37 
								
							
								 
							
						 
						
							
							
								
								Allocate temporary matrix on the stack rather tahn on heap, and give VerticalBlockMatrix a view on it.  
							
							
							
						 
						
							2014-10-15 00:56:06 +02:00  
				
					
						
							
							
								 
						
							
							
								c88b2a5902 
								
							
								 
							
						 
						
							
							
								
								Fixed bizarre link erro as well as off-by-1 bug  
							
							
							
						 
						
							2014-10-15 00:34:28 +02:00  
				
					
						
							
							
								 
						
							
							
								0f055f7910 
								
							
								 
							
						 
						
							
							
								
								Pass matrix to VerticalBlockMatrix constructor  
							
							
							
						 
						
							2014-10-15 00:28:53 +02:00  
				
					
						
							
							
								 
						
							
							
								2092705d12 
								
							
								 
							
						 
						
							
							
								
								Allow for other Eigen matrix types  
							
							
							
						 
						
							2014-10-15 00:27:43 +02:00  
				
					
						
							
							
								 
						
							
							
								625b939b66 
								
							
								 
							
						 
						
							
							
								
								Another very significant speed-up of reverseAD pipeline, by template specialization of the leaf case for fixed matrices. Unfortunately, while this sped up reverse AD for our SFM kernel by 300%, reverseAD was only 6%, and is now 2% of total time. So, time to look elsewhere.  
							
							... 
							
							
							
							Oh, and, it is clear that the Identity matrix for Leaf only expressions is completely known at compile time: Eigen::Matrix<double, T::dimension, T::dimension>::Identity(). That should nicely speed up many a PriorFactor (replacement). 
							
						 
						
							2014-10-14 23:40:21 +02:00  
				
					
						
							
							
								 
						
							
							
								4894dccf5b 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'feature/BAD_linearize' into feature/BAD: Now awesome performance!  
							
							... 
							
							
							
							In this I branch essentially implemented two things
1) I used template-meta-programming to automate adding more functional nodes
2) I overloaded "linearize" so that now reverse AD writes to Eigen::Block<Matrix> views of the VerticalBlockMatrix that will be passed to the JacobianFacor. This did wonders for performance, making the AD pipeline faster than dedicated factors. Because the latter is based on optional<Matrix> references, they cannot apply the same trick :-(
3) Finally, I removed the forward AD pipeline. Not worth keeping (this implementation) alive. 
							
						 
						
							2014-10-14 18:05:59 +02:00  
				
					
						
							
							
								 
						
							
							
								baaeaacabe 
								
							
								 
							
						 
						
							
							
								
								Made dimensions constant property. Now performance is ***blazing***, way past custom factors.  
							
							
							
						 
						
							2014-10-14 17:46:57 +02:00  
				
					
						
							
							
								 
						
							
							
								c971207abf 
								
							
								 
							
						 
						
							
							
								
								Switched to vector for dimensions  
							
							
							
						 
						
							2014-10-14 17:16:31 +02:00  
				
					
						
							
							
								 
						
							
							
								1c3f328fb2 
								
							
								 
							
						 
						
							
							
								
								Successful switch to Blocks !  
							
							
							
						 
						
							2014-10-14 15:43:41 +02:00  
				
					
						
							
							
								 
						
							
							
								f3e1561105 
								
							
								 
							
						 
						
							
							
								
								Prepare VerticalBlockMatrix for filling  
							
							
							
						 
						
							2014-10-14 11:13:49 +02:00  
				
					
						
							
							
								 
						
							
							
								027759300d 
								
							
								 
							
						 
						
							
							
								
								size_t argument for check  
							
							
							
						 
						
							2014-10-14 11:13:09 +02:00  
				
					
						
							
							
								 
						
							
							
								4c76f39009 
								
							
								 
							
						 
						
							
							
								
								Now uses dimensions  
							
							
							
						 
						
							2014-10-14 09:55:34 +02:00  
				
					
						
							
							
								 
						
							
							
								d8d94d0c34 
								
							
								 
							
						 
						
							
							
								
								dimensions implemented and tested  
							
							
							
						 
						
							2014-10-14 09:53:47 +02:00  
				
					
						
							
							
								 
						
							
							
								781cc6daa9 
								
							
								 
							
						 
						
							
							
								
								keys now from expression_  
							
							
							
						 
						
							2014-10-14 08:59:01 +02:00  
				
					
						
							
							
								 
						
							
							
								0a41b0a027 
								
							
								 
							
						 
						
							
							
								
								Moved meta-programming tests to testExpressionMeta.cpp  
							
							
							
						 
						
							2014-10-14 08:53:16 +02:00  
				
					
						
							
							
								 
						
							
							
								ef5bf03c81 
								
							
								 
							
						 
						
							
							
								
								Clean up  
							
							
							
						 
						
							2014-10-13 23:04:30 +02:00  
				
					
						
							
							
								 
						
							
							
								70f0caf0e3 
								
							
								 
							
						 
						
							
							
								
								Experimenting w Fusion  
							
							
							
						 
						
							2014-10-13 22:50:47 +02:00  
				
					
						
							
							
								 
						
							
							
								dda91df6e1 
								
							
								 
							
						 
						
							
							
								
								On the way to full fusion: Optional meta-function now separate from Jacobian.  
							
							
							
						 
						
							2014-10-13 18:32:58 +02:00  
				
					
						
							
							
								 
						
							
							
								ba0b68110f 
								
							
								 
							
						 
						
							
							
								
								Boost Fusion needed to access values :-(  
							
							
							
						 
						
							2014-10-13 13:56:51 +02:00  
				
					
						
							
							
								 
						
							
							
								a52ff52941 
								
							
								 
							
						 
						
							
							
								
								Try some meta-transforms  
							
							
							
						 
						
							2014-10-13 13:34:00 +02:00  
				
					
						
							
							
								 
						
							
							
								1c1695353e 
								
							
								 
							
						 
						
							
							
								
								Now we can apply ExecutionTrace and Expression as meta-functions  
							
							
							
						 
						
							2014-10-13 13:04:37 +02:00  
				
					
						
							
							
								 
						
							
							
								c11d7885e1 
								
							
								 
							
						 
						
							
							
								
								Comments  
							
							
							
						 
						
							2014-10-13 11:55:16 +02:00  
				
					
						
							
							
								 
						
							
							
								74269902d7 
								
							
								 
							
						 
						
							
							
								
								Big collapse now realized all the way through  
							
							
							
						 
						
							2014-10-13 11:37:47 +02:00  
				
					
						
							
							
								 
						
							
							
								da0e5fe52f 
								
							
								 
							
						 
						
							
							
								
								The great collapse: instead of two recursively defined classes, there is now only one. The Record class is now a (recursive) inner class.  
							
							
							
						 
						
							2014-10-13 10:50:05 +02:00  
				
					
						
							
							
								 
						
							
							
								bc9e11f43c 
								
							
								 
							
						 
						
							
							
								
								Pre-big collapse: prototype recursively defined inner Record2 type  
							
							
							
						 
						
							2014-10-13 10:10:46 +02:00  
				
					
						
							
							
								 
						
							
							
								7fde47c48b 
								
							
								 
							
						 
						
							
							
								
								No more JacobianTA typedefs -> all use Jacobian<T,A> now.  
							
							
							
						 
						
							2014-10-13 09:25:06 +02:00  
				
					
						
							
							
								 
						
							
							
								7848d74928 
								
							
								 
							
						 
						
							
							
								
								Detailed explanation of recursive class composition pattern.  
							
							... 
							
							
							
							Jacobian type now defined in argument. 
							
						 
						
							2014-10-13 08:49:12 +02:00  
				
					
						
							
							
								 
						
							
							
								7f621af54a 
								
							
								 
							
						 
						
							
							
								
								Fixed bug  
							
							
							
						 
						
							2014-10-13 00:57:11 +02:00  
				
					
						
							
							
								 
						
							
							
								2e8d868cd2 
								
							
								 
							
						 
						
							
							
								
								keys have been implemented  
							
							
							
						 
						
							2014-10-13 00:37:46 +02:00  
				
					
						
							
							
								 
						
							
							
								a9d9fcd241 
								
							
								 
							
						 
						
							
							
								
								FunctionalNode inherited for all three functional ExpressionNode sub-classes  
							
							
							
						 
						
							2014-10-13 00:31:03 +02:00  
				
					
						
							
							
								 
						
							
							
								8100d89094 
								
							
								 
							
						 
						
							
							
								
								So much better as methods  
							
							
							
						 
						
							2014-10-12 23:57:08 +02:00  
				
					
						
							
							
								 
						
							
							
								55cc4ba56c 
								
							
								 
							
						 
						
							
							
								
								Switched names of fold result and meta-function that is folded over  
							
							
							
						 
						
							2014-10-12 23:31:58 +02:00  
				
					
						
							
							
								 
						
							
							
								ef21a4ba4a 
								
							
								 
							
						 
						
							
							
								
								Major re-org in preparation of recursive Functional nodes  
							
							
							
						 
						
							2014-10-12 23:03:33 +02:00  
				
					
						
							
							
								 
						
							
							
								408be628d2 
								
							
								 
							
						 
						
							
							
								
								Small change in meta-programming, big improvement in clarity  
							
							
							
						 
						
							2014-10-12 22:17:21 +02:00  
				
					
						
							
							
								 
						
							
							
								107bcd8bb4 
								
							
								 
							
						 
						
							
							
								
								Going forwards, we default to reverse :-)  
							
							
							
						 
						
							2014-10-12 22:04:40 +02:00  
				
					
						
							
							
								 
						
							
							
								4d1eb05c7d 
								
							
								 
							
						 
						
							
							
								
								Passing JacobianMap as an argument now..  
							
							
							
						 
						
							2014-10-12 20:16:08 +02:00  
				
					
						
							
							
								 
						
							
							
								dc541f1051 
								
							
								 
							
						 
						
							
							
								
								made traceSize an instance variable  
							
							
							
						 
						
							2014-10-12 18:52:12 +02:00  
				
					
						
							
							
								 
						
							
							
								7a5f48f6dd 
								
							
								 
							
						 
						
							
							
								
								Fixed typo in assert  
							
							
							
						 
						
							2014-10-12 12:20:12 +02:00  
				
					
						
							
							
								 
						
							
							
								fea2eb0b5f 
								
							
								 
							
						 
						
							
							
								
								Inlined VerticalBlockMatrix construction  
							
							
							
						 
						
							2014-10-12 11:05:43 +02:00  
				
					
						
							
							
								 
						
							
							
								ed62271f81 
								
							
								 
							
						 
						
							
							
								
								Dealing with constrained noise model  
							
							
							
						 
						
							2014-10-12 10:52:07 +02:00  
				
					
						
							
							
								 
						
							
							
								86d3e559e6 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'feature/BAD' into feature/BAD_linearize  
							
							
							
						 
						
							2014-10-11 23:07:40 +02:00  
				
					
						
							
							
								 
						
							
							
								c9f80536c0 
								
							
								 
							
						 
						
							
							
								
								Added a constraint model  
							
							
							
						 
						
							2014-10-11 23:07:23 +02:00  
				
					
						
							
							
								 
						
							
							
								e46a8b05eb 
								
							
								 
							
						 
						
							
							
								
								Some mode readable matrix types  
							
							
							
						 
						
							2014-10-11 23:06:57 +02:00  
				
					
						
							
							
								 
						
							
							
								3c6f7a42e6 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'feature/BAD' into feature/BAD_linearize: easier trace/dTdA access  
							
							
							
						 
						
							2014-10-11 22:31:43 +02:00  
				
					
						
							
							
								 
						
							
							
								c776e87f78 
								
							
								 
							
						 
						
							
							
								
								Refactoring for readability/sanity  
							
							
							
						 
						
							2014-10-11 21:33:07 +02:00  
				
					
						
							
							
								 
						
							
							
								0c7ea68f2f 
								
							
								 
							
						 
						
							
							
								
								Now overwriting linearize as preparation for direct VericalBlockMatrix  
							
							
							
						 
						
							2014-10-11 17:05:53 +02:00