dellaert
|
52fc6f2db4
|
Testing old trace
|
2014-10-11 08:41:39 +02:00 |
dellaert
|
820e9553ee
|
TestBinaryExpression friend
|
2014-10-11 08:17:46 +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
|
58bbce482d
|
Ternary works, same caveat
|
2014-10-10 13:33:13 +02:00 |
dellaert
|
406467e341
|
Binary works, but it's ugly and does not work for repeated types
|
2014-10-10 13:29:56 +02:00 |
dellaert
|
24714e48c5
|
Works for Unary !
|
2014-10-10 12:38:26 +02:00 |
dellaert
|
f8468bd596
|
Recursion done
|
2014-10-10 12:31:40 +02:00 |
dellaert
|
732ff54b83
|
More experiments
|
2014-10-10 11:41:01 +02:00 |
dellaert
|
8e264f4289
|
Attempt at defining Trace recursively
|
2014-10-09 14:38:16 +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
|
7e069191e5
|
Slight refactor
|
2014-10-09 10:58:46 +02:00 |
dellaert
|
a38a0ae9e1
|
Some comments
|
2014-10-09 00:21:10 +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
|
abb92632b8
|
Empty derived destructors are not needed
|
2014-10-08 17:32:46 +02:00 |
dellaert
|
6a1bc6e242
|
Documentation
|
2014-10-08 17:28:33 +02:00 |
dellaert
|
ce2dcaeb3b
|
Tagged union, lightweight
|
2014-10-08 15:39:59 +02:00 |
dellaert
|
390842e1f7
|
Put Trace in front
|
2014-10-08 13:58:15 +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
|
83d77271d9
|
Ternary now fixed
|
2014-10-07 13:04:04 +02:00 |
dellaert
|
613cb0bb12
|
Binary functions now take fixed Jacobians
|
2014-10-07 01:01:46 +02:00 |
dellaert
|
e48b38ca21
|
Fixing uncalibrate (does not yet compile)
|
2014-10-06 15:45:26 +02:00 |
dellaert
|
e5c3f4228a
|
Some fixed size in UnaryExpression
|
2014-10-06 14:22:18 +02:00 |
dellaert
|
5c96b7f38d
|
Made naming more suggestive of AD process rather than generic H1,H2...
|
2014-10-06 13:19:01 +02:00 |
Sungtae An
|
69f74014aa
|
add traceExecution in TernaryExpression
|
2014-10-05 17:40:11 -04:00 |
Sungtae An
|
cc3c0fcfec
|
add trace structure for reverse AD in TernaryExpression
|
2014-10-05 17:38:09 -04:00 |
Sungtae An
|
0421d05d44
|
add forward() in TernaryExpression
|
2014-10-05 17:36:53 -04: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
|
632810ff9a
|
Now only inline add, for performance
|
2014-10-05 21:53:40 +02:00 |
dellaert
|
33c1d072a4
|
Add switch between inline add and JacobianMap as a new class.
|
2014-10-05 21:49:30 +02: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
|
ff9dd8eb8d
|
Removed some obsolete code
|
2014-10-05 19:09:16 +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
|
2718662467
|
Removed debug printing
|
2014-10-05 15:01:36 +02:00 |
dellaert
|
fdf9c10b42
|
Implemented value and now testBADFactor also runs
|
2014-10-05 15:00:10 +02:00 |
dellaert
|
8db2cd17fc
|
Finished constant Trace and *everything* just works!!! Amazing :-)
|
2014-10-05 13:41:20 +02:00 |
dellaert
|
7c19542245
|
Leaf Trace compiles
|
2014-10-05 13:37:51 +02:00 |
dellaert
|
75445307b2
|
Unary Trace done
|
2014-10-05 13:33:23 +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
|
59af1c4b6d
|
Major refactor that does not ask for derivatives when argument is constant. Also split combine into double add, added print, and moved those two statics to ExpressionNode.
|
2014-10-02 23:28:19 +02:00 |
dellaert
|
0d94eeb480
|
Created expressions.h header
|
2014-10-01 11:25:49 +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 |
dellaert
|
ae17f8a82f
|
Some refactoring, new static method "combine"
|
2014-09-30 13:00:37 +02:00 |
dellaert
|
374140abb8
|
Moved all BAD stuff to nonlinear
|
2014-09-30 12:34:03 +02:00 |