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
|
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 |
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
|
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
|
79ff0c54f9
|
createUnknowns
|
2014-10-15 10:38:54 +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
|
d8d94d0c34
|
dimensions implemented and tested
|
2014-10-14 09:53:47 +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
|
7fde47c48b
|
No more JacobianTA typedefs -> all use Jacobian<T,A> now.
|
2014-10-13 09:25:06 +02:00 |
dellaert
|
107bcd8bb4
|
Going forwards, we default to reverse :-)
|
2014-10-12 22:04:40 +02:00 |
dellaert
|
4d1eb05c7d
|
Passing JacobianMap as an argument now..
|
2014-10-12 20:16:08 +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
|
9585823d5d
|
...but works with correct size !
|
2014-10-11 11:32:52 +02:00 |
dellaert
|
05f78b6dca
|
Re-factor, allow traceExecution
|
2014-10-11 11:29:42 +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
|
23485a0e71
|
New and consistent naming: ExecutionTrace = whole tree, CallRecord = local information left by the function.
|
2014-10-10 17:45:39 +02:00 |
dellaert
|
5e5457b390
|
Renamed entry point to startReverseAD to emphasize it is only called once
|
2014-10-09 13:42:43 +02:00 |
dellaert
|
9ebe1e6d10
|
Super-speedup by specializing to 2-dimensional output (for now). Using some template magic.
|
2014-10-08 23:50:17 +02:00 |
dellaert
|
ce2dcaeb3b
|
Tagged union, lightweight
|
2014-10-08 15:39:59 +02:00 |
dellaert
|
c4a92acde1
|
Avoid argument temporaries
|
2014-10-07 19:35:44 +02:00 |
dellaert
|
3c1c9c6d12
|
Switch to pointers - nice improvement
|
2014-10-07 18:11:12 +02:00 |
dellaert
|
e4392c0a3b
|
JacobianTrace no longer templated
|
2014-10-07 16:11:55 +02:00 |
dellaert
|
613cb0bb12
|
Binary functions now take fixed Jacobians
|
2014-10-07 01:01:46 +02:00 |
dellaert
|
0ed96dda33
|
Avoid alloc and copy
|
2014-10-06 12:14:15 +02:00 |
Sungtae An
|
0a7db2d252
|
Merge remote-tracking branch 'origin/feature/BAD' into feature/BAD
|
2014-10-05 16:16:19 -04:00 |
Sungtae An
|
40565564f5
|
TernaryExpression is added
|
2014-10-05 16:09:24 -04:00 |
dellaert
|
5b13306104
|
Split out starting the AD process vs. propagating it, is more efficient than starting with a useless identity matrix
|
2014-10-05 19:27:52 +02:00 |
dellaert
|
caf742d5e1
|
Better names
|
2014-10-05 17:20:55 +02:00 |
dellaert
|
001504a432
|
JacobianTrace base, and avoid copying JacobianMaps.
|
2014-10-05 17:12:38 +02:00 |
dellaert
|
fdf9c10b42
|
Implemented value and now testBADFactor also runs
|
2014-10-05 15:00:10 +02:00 |
dellaert
|
8e527a2251
|
Binary Trace compiles, runs
|
2014-10-05 13:27:41 +02:00 |
dellaert
|
303d37a716
|
Separate hierarchy
|
2014-10-05 11:22:14 +02:00 |
dellaert
|
6fb10a5de9
|
Rename, emphasizing is forward AD
|
2014-10-03 21:13:34 +02:00 |
dellaert
|
a5b92f0342
|
MUCH simpler by just using boost::bind to turn methods into functions
|
2014-10-03 13:18:25 +02:00 |
dellaert
|
bdf5451565
|
Typedefs
|
2014-10-03 12:52:35 +02:00 |
dellaert
|
c8dd361080
|
Common base class BinaryExpression
|
2014-10-03 12:48:28 +02:00 |
dellaert
|
987b123ec9
|
NullaryMethodExpression and UnaryFunctionExpression, derived from UnaryExpression
|
2014-10-03 12:40:26 +02:00 |
dellaert
|
aefad1e548
|
MAJOR refactor: I now use separate functions for value (only) and "augmented", for combined value-derivatives. The latter returns a new templated class, Augmented<T>.
|
2014-10-03 10:25:02 +02:00 |
dellaert
|
ce53346a9e
|
Added Symbol versions
|
2014-10-01 13:12:07 +02:00 |
Paul Furgale
|
837b2a6bc0
|
Fixed the member function with very ugly syntax
|
2014-09-30 23:13:07 +02:00 |
dellaert
|
c68c2d2dac
|
Prototype code for passing methods. Does not work (uncomment line 61)
|
2014-09-30 13:19:44 +02:00 |