Renaud Dube
90ec6b1452
reverted extra spaces which were added in last commit
2014-11-07 12:11:08 +01:00
Renaud Dube
bd3f9db7df
inlined a fully specialized function template defined in a .hpp
2014-11-07 11:37:27 +01:00
Mike Bosse
11416cac65
Merge branch 'feature/BAD' into feature/BAD_generic_value_traits
...
Conflicts:
gtsam_unstable/nonlinear/tests/testAdaptAutoDiff.cpp
gtsam_unstable/nonlinear/tests/testExpressionFactor.cpp
2014-11-02 19:00:30 +01:00
dellaert
f38b0b0eed
Fixed unwhitenedError
2014-11-01 11:50:28 +01:00
dellaert
7b539fbb5c
Make JacobianMap a wrapper around a VerticalBlockMatrix, which avoids us having to make a vector of references into it
2014-11-01 11:35:49 +01:00
dellaert
593edd1e5c
Fixed asserts
2014-10-31 16:29:15 +01:00
dellaert
768a4abc05
Does not need lambda
2014-10-31 16:27:46 +01:00
Sungtae An
a5b8d0fd35
Modified finding method
2014-10-31 11:06:26 -04:00
Sungtae An
6a20d35a60
Modified pointer expression
2014-10-31 07:28:07 -04:00
Sungtae An
133fcf20e2
Cleaned up some commented codes
2014-10-31 07:22:19 -04:00
Sungtae An
97d4120858
Changed the type of JacobianMap as std::vector
2014-10-31 07:10:53 -04:00
Mike Bosse
80187362b8
attemping to expose ChartValue for expressions with non DefaultCharts, but needs testing
2014-10-28 11:20:02 +01:00
dellaert
bf16446f92
Deal with traits changes
2014-10-21 01:26:17 +02:00
dellaert
8ee16c9018
Comments for Paul
2014-10-19 11:19:09 +02:00
dellaert
6e142184cc
Implemented is_manifold and dimension for all types in testExpressionFactor
2014-10-19 00:35:25 +02:00
dellaert
c32d2bb3b2
Fixed comments
2014-10-18 23:48:51 +02:00
dellaert
0bcca2c386
Drastic reduction in allocations at ExpressionFactor construction by having dims constructed imperatively, and using it for both keys_ and dimensions_
2014-10-16 14:16:58 +02:00
dellaert
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
dellaert
baaeaacabe
Made dimensions constant property. Now performance is ***blazing***, way past custom factors.
2014-10-14 17:46:57 +02:00
dellaert
1c3f328fb2
Successful switch to Blocks !
2014-10-14 15:43:41 +02:00
dellaert
d8d94d0c34
dimensions implemented and tested
2014-10-14 09:53:47 +02:00
dellaert
ef5bf03c81
Clean up
2014-10-13 23:04:30 +02:00
dellaert
dda91df6e1
On the way to full fusion: Optional meta-function now separate from Jacobian.
2014-10-13 18:32:58 +02:00
dellaert
1c1695353e
Now we can apply ExecutionTrace and Expression as meta-functions
2014-10-13 13:04:37 +02:00
dellaert
c11d7885e1
Comments
2014-10-13 11:55:16 +02:00
dellaert
74269902d7
Big collapse now realized all the way through
2014-10-13 11:37:47 +02:00
dellaert
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
dellaert
bc9e11f43c
Pre-big collapse: prototype recursively defined inner Record2 type
2014-10-13 10:10:46 +02:00
dellaert
7fde47c48b
No more JacobianTA typedefs -> all use Jacobian<T,A> now.
2014-10-13 09:25:06 +02:00
dellaert
7848d74928
Detailed explanation of recursive class composition pattern.
...
Jacobian type now defined in argument.
2014-10-13 08:49:12 +02:00
dellaert
7f621af54a
Fixed bug
2014-10-13 00:57:11 +02:00
dellaert
2e8d868cd2
keys have been implemented
2014-10-13 00:37:46 +02:00
dellaert
a9d9fcd241
FunctionalNode inherited for all three functional ExpressionNode sub-classes
2014-10-13 00:31:03 +02:00
dellaert
8100d89094
So much better as methods
2014-10-12 23:57:08 +02:00
dellaert
55cc4ba56c
Switched names of fold result and meta-function that is folded over
2014-10-12 23:31:58 +02:00
dellaert
ef21a4ba4a
Major re-org in preparation of recursive Functional nodes
2014-10-12 23:03:33 +02:00
dellaert
408be628d2
Small change in meta-programming, big improvement in clarity
2014-10-12 22:17:21 +02:00
dellaert
4d1eb05c7d
Passing JacobianMap as an argument now..
2014-10-12 20:16:08 +02:00
dellaert
dc541f1051
made traceSize an instance variable
2014-10-12 18:52:12 +02:00
dellaert
7a5f48f6dd
Fixed typo in assert
2014-10-12 12:20:12 +02:00
dellaert
c776e87f78
Refactoring for readability/sanity
2014-10-11 21:33:07 +02:00
dellaert
1bac83381f
Merge remote-tracking branch 'origin/feature/BAD_meta' into feature/BAD: Now the Record structures are recursively generated using template meta-programming, basically mpl::fold
...
Conflicts:
gtsam_unstable/nonlinear/Expression-inl.h
2014-10-11 15:20:12 +02:00
dellaert
88f9a423c5
Numbered types avoid ambiguity
2014-10-11 14:19:39 +02:00
dellaert
ecf6462a25
Victory!! Unit tests work!
2014-10-11 13:07:58 +02:00
dellaert
599e232d1d
traceSize, two tests work
2014-10-11 12:11:22 +02:00
dellaert
deed7b8018
Unary prints, but still-faults downstream
2014-10-11 11:30:06 +02:00
dellaert
69b69a0bc8
placement new works! And sophisticated Trace::print
2014-10-11 11:03:35 +02:00
dellaert
eef2d49e8d
First prototype, segfaults
2014-10-11 10:27:30 +02:00
dellaert
e09e24964a
No need to have all of T as template parameter
2014-10-11 09:00:03 +02:00
dellaert
820988b04e
Do casting inside Trace
2014-10-11 08:52:24 +02:00