HannesSommer
cc997dd774
adapted a view comments and friendships to the new virtual inheritance sceme
...
visibility fine tuning
2014-11-22 19:19:17 +01:00
Paul Furgale
3ef0eabff6
Merged in changes from develop
2014-11-22 14:55:32 +01:00
Paul Furgale
aae206b308
Merge branch 'develop' into feature/BAD_using_charts
2014-11-22 14:38:55 +01:00
Paul Furgale
e5fe5676b1
Working on a prototype of wrapping external types
2014-11-22 14:10:25 +01:00
HannesSommer
87ea6341f2
virtual inheritance for better readability and decoupling
2014-11-22 09:39:08 +01:00
HannesSommer
b4fe033d12
added CallRecord unit test
2014-11-21 23:04:58 +01:00
HannesSommer
32992cf05e
added missing overload for full dynamic matrix.
2014-11-21 23:04:58 +01:00
HannesSommer
6d0c1a44e1
- some small cleanup and improved readability.
...
- virtual overload warnings should not be issued anymore
2014-11-21 21:13:24 +01:00
HannesSommer
f699dd26bb
correct case in import
2014-11-21 21:10:12 +01:00
dellaert
c238e5852c
Now uses CallRecord.h
2014-11-21 15:48:29 +01:00
dellaert
2983cf33a6
Created CallRecord header
2014-11-21 15:48:10 +01:00
cbeall3
36a485169d
Refactor Ordering parameters. Now compiles and passes with gcc
2014-11-17 16:16:52 -05:00
HannesSommer
fb24ab586e
introduced a MaxVirtualStaticRows compile time constant and realized as many static rows specific virtual reverseAD methods in the CallRecord interface to speedup the Jacobian evaluatio.
2014-11-17 11:18:09 +01:00
HannesSommer
4966f5a942
mini cleanup and improve comment TODO
2014-11-17 11:18:09 +01:00
dellaert
d4b868aa12
Formatting and documentation
2014-11-14 11:20:36 +01:00
dellaert
865b0c0129
Fixed compile issue in Debug mode
2014-11-14 02:13:11 +01:00
Jing Dong
139ef0d61d
fix glog macro to assert
2014-11-08 22:16:32 -05:00
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
dellaert
e0c4d84dd7
Fixed some tests/warnings in quaternion mode
2014-11-03 00:59:19 +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
17d352bab4
Slight re-factor
2014-11-02 14:42:59 +01:00
dellaert
d2f56b13ed
Non-trivial noise models now correctly handled (at a small performance penalty, due to malloc of Vector b).
2014-11-02 14:37:52 +01:00
dellaert
90a0fa6e45
Check if active
2014-11-02 13:53:22 +01:00
dellaert
a8ab910c32
Merged twio changes in: the is_constrained() flag that does away with the dynamic cast, and the changes duy made in commit a61b49d
to remove the constrained noise model hack. At the same time, both linearize methods (in expressionFactor and NonlinearFactor) now make use of is_constrained().
2014-11-02 13:45:54 +01:00
dellaert
b9e3c3b116
Made unsafe constructor private, but made ExpressionFactor<T> a friend.
2014-11-02 12:01:52 +01:00
dellaert
cb69f2cb82
Fastest linearize so far. Putting 'unsafe' constructor in JacobianFactor itself makes a *huge* difference.
2014-11-02 11:40:48 +01:00
dellaert
7aaf4dae8c
Merge remote-tracking branch 'origin/feature/BAD_VerticalBlockMatrix' into feature/BAD_WriteableJacobianFactor
...
Conflicts:
gtsam_unstable/nonlinear/ExpressionFactor.h
2014-11-01 17:45:23 +01:00
dellaert
7debde7518
Moved to ExpressionFactor that now uses it - timing seems worse ?
2014-11-01 15:12:06 +01:00
dellaert
12e38a44e4
WriteableJacobianFactor will allow ExpressionFactor to write into the factor directly, (hopefull) eliminating huge overhead.
2014-11-01 14:13:08 +01:00
dellaert
a4fa61a7a4
Removed JacobianMap tests
2014-11-01 11:56:38 +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
d0c3bc0c8e
Fixed tests
2014-10-31 16:27:54 +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
Mike Bosse
bc094951ed
all values in Values container are now a ChartValue<ValueType, Chart=DefaultChart<ValueType> >
...
ChartValues are GenericValues and a Chart, which defaults to DefaultChart
had to make charts functional (ie no storage of the chart origin) so that they could be zero sized base class
otherwise there would have been a double of the memory for values (ones for the value, and once for the chart origin, which default to the same)
most tests work, execept for serialization based stuff, and const filtering of values.
2014-10-28 00:57:44 +01:00
Mike Bosse
4a3dc51f85
more tests work, except for serialization based tests
2014-10-24 23:47:02 +02:00
dellaert
e7ec6b3fa5
Fixed size
2014-10-23 12:04:16 +02:00
dellaert
49ff33602d
Undid change
2014-10-23 01:44:04 +02:00
dellaert
0501750c7c
Fixed accuracy and size issues in Quaternion mode
2014-10-22 22:54:25 +02:00
dellaert
48a6777935
Some refactoring
2014-10-22 16:26:40 +02:00
dellaert
0f53c8d5ec
Timing of Ceres AutoDiff adaptor
2014-10-22 12:49:18 +02:00
dellaert
f44e6f0187
Moved AdaptAutoDiff template in its own header file
2014-10-22 11:41:04 +02:00
dellaert
516bb4b0b1
Isolated Snavely example
2014-10-22 11:23:35 +02:00
dellaert
439f51ec7f
test out invoke
2014-10-22 10:10:58 +02:00
dellaert
1eb5e185e5
New numericalDerivatives with traits an Charts - still some segfaults, *and* there should be no need for (a) multiple prototypes to match against c++ pointers, (b) the use of explicit template arguments. A task for someone...
2014-10-21 18:50:52 +02:00
dellaert
224b71d696
Created testManifold
2014-10-21 12:54:28 +02:00
dellaert
0acffe5ae9
Fixed bug in DefaultChart: keeping a reference s never a good idea.
2014-10-21 11:13:14 +02:00
dellaert
25ad9ade05
Moved AdaptAutoDiff into its own test
2014-10-21 10:42:30 +02:00
dellaert
bf16446f92
Deal with traits changes
2014-10-21 01:26:17 +02:00
dellaert
e0841fb3e6
No more Ceres dependecy, copied relevant Ceres files here (for now)
2014-10-20 23:53:56 +02:00
dellaert
bce84ca4db
Successfully created Expression from AutoDiff function!
2014-10-20 15:38:27 +02:00
dellaert
bf5580d518
AdaptAutoDiff now works with RowMajor Eigen matrices
2014-10-20 14:39:28 +02:00
dellaert
df5e584412
Compiles, but Jacobains not correct yet
2014-10-20 14:32:20 +02:00
dellaert
a423f284e9
Canonical coordinates prototype, works for Snavely
2014-10-20 14:23:08 +02:00
dellaert
821f776118
Wrapper works to some extent
2014-10-20 09:43:32 +02:00
dellaert
7ebc8e969f
Charts with default constructors
2014-10-20 09:29:45 +02:00
dellaert
63ae33088e
Some success on the way to autodiff
2014-10-19 23:47:59 +02:00
dellaert
8ee16c9018
Comments for Paul
2014-10-19 11:19:09 +02:00
dellaert
eac76cd0f0
Some progress on defining interface
2014-10-19 11:18:36 +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
d436d99146
Moved stuff to Manifold.h
2014-10-18 23:25:25 +02:00
dellaert
fcda501ee2
double as manifold. No more LieScalar !
2014-10-18 18:13:33 +02:00
dellaert
ed6a2b6eff
Charts !!!!
2014-10-18 17:11:28 +02:00
dellaert
9c97b1d8a0
Some more refactoring
2014-10-18 16:45:04 +02:00
dellaert
66b3081603
localCoordinates and retract
2014-10-18 15:02:22 +02:00
dellaert
10cfd47404
TangentVector meta-function
2014-10-18 14:29:40 +02:00
dellaert
ec69949f43
Point2 specialized
2014-10-18 14:22:01 +02:00
dellaert
f08dc6c031
More boost-style traits
2014-10-18 14:16:24 +02:00
dellaert
4c33444415
Snavely tested
2014-10-18 13:16:44 +02:00
dellaert
bdf12b14b9
Add Snavely cost function
2014-10-18 12:35:02 +02:00
dellaert
7018afdd58
Slight refactor of numerical derivatives
2014-10-18 12:34:05 +02:00
dellaert
2972671064
Use boost::bind to avoid code duplication
2014-10-18 12:29:14 +02:00
dellaert
db037c96c5
Implemented manifold_traits to allow numerical derivatives wrpt Matrix arguments
2014-10-18 12:12:25 +02:00
dellaert
2cbba15573
ceres style functor
2014-10-18 00:29:18 +02:00
dellaert
02d25f6658
New tests on traceSize
2014-10-16 15:07:05 +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
944422e295
Only ExpressionFactor needs dimensions! Also, add dimensions at construction -> speeds up linearize.
2014-10-16 11:15:47 +02:00
dellaert
3413b98331
New storage sizes
2014-10-15 14:30:36 +02:00
dellaert
79ff0c54f9
createUnknowns
2014-10-15 10:38:54 +02:00
dellaert
649478f186
Should work but seg-faults
2014-10-15 01:19:14 +02:00
dellaert
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
dellaert
c88b2a5902
Fixed bizarre link erro as well as off-by-1 bug
2014-10-15 00:34:28 +02:00
dellaert
0f055f7910
Pass matrix to VerticalBlockMatrix constructor
2014-10-15 00:28:53 +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
c971207abf
Switched to vector for dimensions
2014-10-14 17:16:31 +02:00
dellaert
1c3f328fb2
Successful switch to Blocks !
2014-10-14 15:43:41 +02:00
dellaert
f3e1561105
Prepare VerticalBlockMatrix for filling
2014-10-14 11:13:49 +02:00
dellaert
4c76f39009
Now uses dimensions
2014-10-14 09:55:34 +02:00
dellaert
d8d94d0c34
dimensions implemented and tested
2014-10-14 09:53:47 +02:00
dellaert
781cc6daa9
keys now from expression_
2014-10-14 08:59:01 +02:00
dellaert
0a41b0a027
Moved meta-programming tests to testExpressionMeta.cpp
2014-10-14 08:53:16 +02:00