krunalchande
ecc87bdb2b
Added test with pose and a line equality constraint. Works but hessian is incorrect. So basically using nonlinearequality vs linearequality makes no difference.
2015-02-18 07:47:50 -05:00
krunalchande
29e6e67de7
added debug info, fixed unit test, added nonlinear constraint (circle) test. Doesn't work because of negative definite hessian obtained from multiplying the dual with the constraint hessian.
2015-02-18 07:47:50 -05:00
krunalchande
ccc243d37a
Obtain dim by using traits.
2015-02-18 07:47:50 -05:00
krunalchande
147d174a66
test files deprecated, might be removed later
2015-02-18 07:47:49 -05:00
krunalchande
6d76b5910c
added comments
2015-02-18 07:47:49 -05:00
krunalchande
2b1cc7bf22
Added Simple QP solver and test. Unit test doesn't work yet
2015-02-18 07:47:49 -05:00
krunalchande
3af06ef029
Added nonlinearconstraint and tests
2015-02-18 07:47:49 -05:00
krunalchande
7d2f69335d
Added constructor
2015-02-18 07:47:48 -05:00
krunalchande
b4c5237925
Added structure of test and class. Left with implementation.
2015-02-18 07:47:48 -05:00
Paul Drews
42d8e1fcb2
Working Sim3 Transform
2015-02-13 09:06:08 -05:00
cbeall3
5afc3c4cea
again: overlooked Dim -> dimension because this factor has no unit test!
2015-01-28 16:48:12 -05:00
Paul Drews
db73a0dd1d
Working, with stub log/expmap and identity
2015-01-28 14:55:13 -05:00
Paul Drews
10b56a115c
Working Similarity3 transform with unit tests.
2015-01-26 13:38:32 -05:00
Paul Drews
c6b3535dda
retract works, local coordiantes still broken
2015-01-25 01:28:16 -05:00
Paul Drews
a87a3dd987
Rotation works, translation and scale incorrect
2015-01-24 22:42:48 -05:00
cbeall3
b1cea2bee7
overlooked Dim -> dimension because this factor has no unit test!
2015-01-23 14:29:25 -05:00
Paul Drews
d28ef19b9a
Merge remote-tracking branch 'origin/develop' into feature/Similarity
...
Partial update of Similarity to BAD
Conflicts:
.gitignore
2015-01-23 08:10:21 -05:00
Paul Drews
bade68fa33
Simple single prior optimization
2015-01-12 12:58:17 -05:00
Paul Drews
a88b10eacc
Working similarity3 transform with unit tests
2015-01-07 09:57:48 -05:00
Paul Drews
89460fe931
Unit tests still fail, but believed to be correct.
2015-01-02 09:02:43 -05:00
dellaert
e119846280
Updated examples and test
2014-12-28 19:10:41 +01:00
dellaert
c58f2c15dc
Moved to gtsam
2014-12-28 19:09:12 +01:00
dellaert
3587ad4e2c
Merge remote-tracking branch 'origin/develop' into feature/SoundSlam
...
Conflicts:
examples/SFMExampleExpressions.cpp
2014-12-28 18:53:09 +01:00
dellaert
7c455efe50
Made Event into new-style manifold
2014-12-28 18:24:00 +01:00
dellaert
2ee192e950
Fix header
2014-12-28 18:23:22 +01:00
dellaert
f9c353d4a5
Merge remote-tracking branch 'origin/develop' into feature/SoundSlam
...
Conflicts:
.cproject
gtsam/base/LieMatrix.h
gtsam/base/LieVector.h
gtsam/base/OptionalJacobian.h
gtsam/base/tests/testOptionalJacobian.cpp
gtsam/geometry/Cal3_S2Stereo.h
gtsam/geometry/CalibratedCamera.h
gtsam/geometry/PinholeCamera.h
gtsam/geometry/Point2.h
gtsam/geometry/Point3.h
gtsam/geometry/Pose2.cpp
gtsam/geometry/Pose2.h
gtsam/geometry/Pose3.cpp
gtsam/geometry/Pose3.h
gtsam/geometry/Rot2.cpp
gtsam/geometry/Rot2.h
gtsam/geometry/Rot3.cpp
gtsam/geometry/Rot3.h
gtsam/geometry/Rot3M.cpp
gtsam/geometry/Rot3Q.cpp
gtsam/geometry/Unit3.cpp
gtsam/geometry/tests/testRot3.cpp
gtsam/nonlinear/AdaptAutoDiff.h
gtsam/nonlinear/Expression-inl.h
gtsam/nonlinear/Expression.h
gtsam/nonlinear/tests/testExpression.cpp
gtsam/slam/RangeFactor.h
timing/timeAdaptAutoDiff.cpp
timing/timeCameraExpression.cpp
2014-12-28 17:45:41 +01:00
dellaert
9b5136d35c
Moved examples
2014-12-28 17:15:14 +01:00
dellaert
401ee70364
Fixed overload resoltion error in template matching by removing overloads in traits
2014-12-28 17:14:04 +01:00
dellaert
c4457682bc
Fixed header file
2014-12-28 17:13:20 +01:00
dellaert
a454327e7b
Moved include file
2014-12-28 16:44:32 +01:00
dellaert
111b9511ac
Moved timing files
2014-12-28 16:40:40 +01:00
dellaert
3ebcfc5ce0
make timing compiles
2014-12-28 16:37:54 +01:00
dellaert
097f0fb80d
Fix paths
2014-12-28 14:51:19 +01:00
dellaert
c8faa102e3
Moved EexpressionFactor related files to gtsam
2014-12-28 13:48:13 +01:00
dellaert
e5017984a1
traits_x -> traits
2014-12-26 16:47:51 +01:00
dellaert
aaf4588f20
Improved simple helicopter
2014-12-26 00:53:36 +01:00
dellaert
902e7e57e5
Fixing helicopter
2014-12-26 00:21:33 +01:00
thduynguyen
11858da42b
fix testSimpleHelicopter
2014-12-25 17:25:42 -05:00
dellaert
afe20d83bd
Dealing with Pose3 mojo loss
2014-12-25 20:04:28 +01:00
dellaert
47ff09f6c8
Pose3 lost its mojo! But there are errors in Expmap/Logmap derivatives around identity...
2014-12-25 19:43:32 +01:00
dellaert
5c0db68152
Fixed compile error from develop
2014-12-25 18:16:47 +01:00
dellaert
78386ad144
Merge ExmapeDerivative/LogmapDerivative changes from 'origin/develop' into feature/tighteningTraits
...
Conflicts:
gtsam/base/LieScalar.h
gtsam/geometry/Point2.h
gtsam/geometry/Point3.h
gtsam/geometry/Rot3.h
gtsam/geometry/Rot3M.cpp
gtsam/geometry/Rot3Q.cpp
gtsam/geometry/tests/testRot3.cpp
2014-12-24 13:55:15 +01:00
dellaert
d9f5681dc2
Fixed warning
2014-12-24 11:34:53 +01:00
dellaert
3d15868ece
Renamed internal::LieGroup -> internal::LieGroupTraits
2014-12-24 01:34:33 +01:00
dellaert
ea3b4624d8
Testable concept prereqs check
2014-12-23 14:56:48 +01:00
Mike Bosse
52ec4f0784
fixed serialization tests
2014-12-23 12:35:49 +01:00
dellaert
c6ae119414
Tightened what is needed for Lie, i.e., fewer versions of retract/localCoordinates
2014-12-22 23:42:52 +01:00
dellaert
f5c9c24330
Corrected sillyness
2014-12-22 23:41:42 +01:00
dellaert
355b938f3a
Point3 loses its mojo (superfluous Lie/Manifold stuff)
2014-12-22 17:22:45 +01:00
dellaert
5473550eea
Using traits in many places (forced by loss of Point2 mojo)
2014-12-22 16:02:33 +01:00
Mike Bosse
4a708c855f
fixed testExpressionFactor.cpp
2014-12-22 11:33:52 +01:00
Mike Bosse
a6f612844f
fixed testTSAMFactors.cpp
2014-12-22 09:39:51 +01:00
dellaert
06c3696176
Fixed more problems so everything compiles now after splitting up concepts into Group/Manifold/Lie/VectorSpace. Still 25 tests that fail.
2014-12-22 02:52:31 +01:00
dellaert
99a50a2f87
Split up concepts into Group/Manifold/Lie/VectorSpace. Also fixed some implementations and put in exceptions elsewhere, rather than CONCEPT_NOT_IMPLEMENTED macro.
2014-12-22 02:50:52 +01:00
dellaert
79d8514528
MASSIVE edit: made Testable its own concept, and moderinized Testable.h to use Testable traits. This required adding Testable traits in many classes.
2014-12-21 22:02:57 +01:00
dellaert
00b374c9e9
Merge remote-tracking branch 'origin/develop' into feature/tighteningTraits
...
Conflicts:
gtsam/base/LieScalar.h
gtsam/geometry/Point2.h
2014-12-21 14:39:23 +01:00
Mike Bosse
d0e1c1a770
test compiling!! but 34 tests failed out of 198
2014-12-20 20:36:54 +01:00
Mike Bosse
b7204b100d
PoseRTV
2014-12-20 20:22:34 +01:00
thduynguyen
b39d14872a
remove lpsolve
2014-12-16 11:27:20 -05:00
Mike Bosse
07bcc18d43
fixed testTSAMFactors
2014-12-15 23:23:40 +01:00
krunalchande
44477e12f2
Fixed initialization error for active_
2014-12-15 11:47:04 -05:00
Paul Furgale
c0e4f76d94
More manifolds...more numerical differentiation...more.
2014-12-14 18:59:57 +01:00
Paul Furgale
da4c44e12d
More progress
2014-12-14 15:26:43 +01:00
dellaert
2225c10fc0
use ExpressionFactorGraph
2014-12-13 08:35:22 +01:00
thduynguyen
48b08bd58e
more informative print for LinearInequality showing its active/inactive state
2014-12-13 01:04:46 -05:00
thduynguyen
c4b574774a
remove LinearConstraint. It is replaced by LinearEquality
2014-12-13 01:04:08 -05:00
krunalchande
da318184ae
sync with develop branch commit c1f048d
2014-12-12 18:46:54 -05:00
krunalchande
e539738fd0
Remove support for dual keys. Added finished() after all matrices and vectors. Remove buildDualGraph from GaussianFactorGraph. Remove support for multipliedHessians for non-linear equality constraints.
2014-12-12 17:23:31 -05:00
krunalchande
181bfb4f0f
Added support for compiling lpsolve on linux. Windows not tested
2014-12-12 17:21:07 -05:00
thduynguyen
e12add2739
Merged in develop (pull request #71 ). Resolve conflicts.
2014-12-12 15:34:53 -05:00
thduynguyen
593795f65b
use Eigen's predefined RowVector typedef
2014-12-12 12:51:19 -05:00
thduynguyen
ac6f10ea74
enforce RowVector as Jacobian for single-valued linear inequalities
2014-12-12 12:43:07 -05:00
thduynguyen
a26ef7b7a2
refactor QPSolver to work with single-valued linear inequality factors. Unit tests passed.
2014-12-12 12:03:00 -05:00
thduynguyen
6d68f5ffff
equality constraints are always active
2014-12-12 12:02:06 -05:00
thduynguyen
4f28eace7e
LinearInequality now only supports single-valued function. Add active/activate/inactivate function to use in the qp active set method.
2014-12-12 12:01:16 -05:00
Paul Drews
a7b8e60272
Unit test failure, either retraction or localCoordinates is wrong for rotation
2014-12-12 10:38:59 -05:00
Paul Drews
c6e4cd5e03
Operational Sim3 with basic unit tests
2014-12-12 10:12:58 -05:00
Paul Drews
69f27b9488
Additional unit test
2014-12-12 08:43:57 -05:00
dellaert
8f27b048f1
Moved experiment to doubleExpresso project
2014-12-12 08:53:32 +01:00
dellaert
541217175c
Added ExpressionFactorGraph (should go away with move of ExpressionFactor to gtsam)
2014-12-12 08:00:02 +01:00
dellaert
fa7071bdd8
Comments, renaming
2014-12-12 07:45:09 +01:00
dellaert
8cc813f03e
Removed misguided Factory attempt in favor of direct expressions
2014-12-12 07:31:33 +01:00
Paul Drews
8c4468185a
Take a stab at localCoordinates
2014-12-11 22:54:02 -05:00
dellaert
a9121fc3fc
Now it's super-easy to create priors on pieces of state.
2014-12-11 13:45:15 +01:00
dellaert
31ca0d76db
Added unary version
2014-12-11 13:44:47 +01:00
dellaert
cedf2647d2
Use handy dandy Factor Factory
2014-12-11 13:19:37 +01:00
dellaert
29dc382c22
Fixed small bug
2014-12-11 13:19:19 +01:00
dellaert
f588a3928a
Added handy dandy Factor Factory
2014-12-11 13:19:08 +01:00
dellaert
d37216cde3
TOAFactor header
2014-12-10 22:50:41 +01:00
dellaert
bb00e375da
Print for MATLAB
2014-12-10 21:44:56 +01:00
dellaert
dc84b6589e
Added in real experimental data gathered by Jay at KU Leuven
2014-12-10 21:12:38 +01:00
dellaert
d17caa5487
Event header and test file
2014-12-10 19:14:18 +01:00
dellaert
5d6e0bc753
Optimization test succeeds, but only with 5th microphone...
2014-12-10 19:00:52 +01:00
dellaert
2dcbc72d8d
Derivatives work !!!
2014-12-10 17:58:35 +01:00
dellaert
0ceb09262c
Put in prototype derivatives, needs unit test
2014-12-10 16:06:34 +01:00
dellaert
cca1a54544
Everything done, except derivatives !!!
2014-12-10 16:02:13 +01:00
dellaert
d54c70202a
TOAFactor compiles and can be put into a factor graph
2014-12-10 15:43:31 +01:00
dellaert
ba1a2685bc
Not-working yet, but lots of progress towards TOAFactor
2014-12-10 15:10:59 +01:00
dellaert
5ce007446d
Merge remote-tracking branch 'origin/develop' into feature/SoundSlam
...
Conflicts:
.cproject
2014-12-10 14:47:58 +01:00
dellaert
777aa005b4
Developing time of arrival factor with Jay at KU Leuven
2014-12-10 14:24:10 +01:00
dellaert
22218eafc4
We will not wrap fixed Vectors and Matrices individually. Methods that take those can just as well be wrapped with Vector or Matrix. Note const and & are ignored for those. I added a small method, insertFixed, that allows one to put in small fixed size matrices for optimization. Did not do retrieval yet.
2014-12-10 10:45:22 +01:00
thduynguyen
ba903536c8
fix ACTIVE/INACTIVE constants as Frank suggested
2014-12-09 22:29:21 -05:00
thduynguyen
565eb99948
remove a TODO as it's done.
2014-12-09 22:28:39 -05:00
thduynguyen
85397223ef
fix QPSolver unit tests
2014-12-09 16:27:11 -05:00
thduynguyen
9b418c98ca
fix LPSolver unittest
2014-12-09 16:26:19 -05:00
Andrew Melim
1e778cf77b
No longer need to cast function pointers for expressions on Windows, with Optional Jacobian
2014-12-09 11:53:35 -05:00
Andrew Melim
137ea64200
Updating with OptionalJacobian
2014-12-09 11:49:47 -05:00
Andrew Melim
3bd491bf66
Merge branch 'develop' into fix/windowsExpressions
2014-12-09 11:04:30 -05:00
thduynguyen
001794ac84
refactor QPSolver inprogress... Compiled but tests failed.
2014-12-09 06:13:57 -05:00
thduynguyen
8c4705b905
check testable concept
2014-12-09 06:13:01 -05:00
thduynguyen
a4f8ead2a6
add print
2014-12-09 06:12:41 -05:00
Andrew Melim
cea76a2848
More template handholding for windows
2014-12-08 21:48:59 -05:00
Andrew Melim
701dcc1c99
Correcting VLA issue, and add template specification for between Pose2 objects. More template specifcations will be needed on windows, unless another fix is found
2014-12-08 21:39:12 -05:00
dellaert
468aa5d6b6
Merge remote-tracking branch 'origin/develop' into feature/fixedSizeDerivatives
2014-12-05 22:23:12 +01:00
cbeall3
a7b61373a9
Fix include path for moved Autodiff stuff
2014-12-05 13:52:49 -05:00
dellaert
f71513b3bf
Compiles and test runs
2014-12-05 15:50:09 +01:00
Paul Drews
51c4a50c23
Initial broken commit of Similarity Transform
2014-12-05 09:28:10 -05:00
dellaert
02075b7575
Moved to project
2014-12-04 21:08:31 +01:00
dellaert
4fd2a288a2
Expressions now require OptionalJacobian
2014-12-04 21:08:15 +01:00
dellaert
96016edf85
Merge remote-tracking branch 'origin/develop' into feature/fixedSizeDerivatives
...
Conflicts:
.cproject
2014-12-04 21:07:34 +01:00
cbeall3
30c4092d80
Move AdaptAutodiff and test to close issue #142
2014-12-04 12:15:53 -05:00
dellaert
d2e53d4fe9
"Fixed" AHRS
2014-12-04 12:30:41 +01:00
cbeall3
003e7a06ab
3rdparty/ceres include paths
2014-12-03 23:11:54 -05:00
cbeall3
cbaf96e28c
Move and rename ceres headers
2014-12-03 23:07:26 -05:00
Natesh Srinivasan
4e557d38e6
updated Matrix.h with commonly used matrices.
2014-12-03 09:59:10 -05:00
Chris Beall
b318857216
Now valgrind error free
2014-12-02 08:37:32 -05:00
dellaert
468d1bd78a
Fixed unitialized error, fixes issue #179
2014-12-02 11:10:59 +01:00
dellaert
1330d6b7f2
Removed legacy code
2014-12-02 11:10:29 +01:00
dellaert
6910c70d4b
Prototype FourierDecomposition class
2014-12-01 22:30:04 +01:00
Frank Dellaert
a92f9b3335
Merged in fix/unrollingReverseADInterfaceRecursionForCodeSimplicity (pull request #56 )
...
unrolled the reverseAD recursion (issue #151 )
2014-12-01 20:43:45 +01:00
Christian Forster
c7ab79690b
missing <limits> for std::numeric_limits
2014-12-01 12:38:17 -05:00
HannesSommer
6c62609737
- introduced CallRecordMaxVirtualStaticRows for keeping CallRecord.h and testCallRecord.cpp in sync with respect to this.
...
- reactivated the fully dynamically sized matrix support in CallRecord.h
- small cleanups
2014-11-29 16:03:33 +01:00
dellaert
e2e29dac68
Removed #ifdef blocks and documented the AD process by numbering the methods in the order they are called
2014-11-29 13:09:17 +01:00
dellaert
7989a8c0dc
Added wide test
2014-11-29 13:08:10 +01:00
HannesSommer
18a8de1f46
- unrolled the reverseAD recursion
...
- MaxVirtualStaticRows is now a macro and some preprocessor derictives activate and deactivate the corresponding defintions. This could be of course removed at some point.
2014-11-29 10:14:19 +01:00
dellaert
c90bc5c34a
Excluded Paul's test
2014-11-29 08:01:17 +01:00
dellaert
6505e602d8
FixedRef is now OptionalJacobian
2014-11-28 17:14:26 +01:00
dellaert
747071138e
Use new FixedRef type in tests
2014-11-28 01:58:24 +01:00
dellaert
dc40864a8f
Excluded Paul's test
2014-11-28 01:58:11 +01:00
dellaert
0d41523725
Use new FixedRef type
2014-11-28 01:57:55 +01:00
dellaert
ee790839c6
Now only accept new FixedRef type
2014-11-28 01:57:45 +01:00
thduynguyen
3aa7fd6d18
add LinearConstraint
2014-11-27 10:45:23 -05:00
dellaert
88693e2129
Comments (ineq -> inequality)
2014-11-27 11:01:45 +01:00
dellaert
3800e1f101
initials -> initialValues
2014-11-27 10:52:25 +01:00
dellaert
4871202664
identifyLeavingConstraint
2014-11-27 10:49:35 +01:00
dellaert
9ca2ba9b66
Simplified freeHessians_ using inner class
2014-11-27 10:47:45 +01:00
thduynguyen
b5e8be56f3
more informative comment
2014-11-26 18:53:45 -05:00
dellaert
ba911edfad
Fixed up comments
2014-11-26 22:59:33 +01:00
dellaert
ad07531453
Tested TestCase, fixed wrong documentation
2014-11-26 22:40:48 +01:00
Frank Dellaert
3a2b2efdbc
Merged in feature/ExpressionsToBase (pull request #51 )
...
GTSAM 4 Roadmap: Move Expressions to nonlinear
2014-11-26 21:42:46 +01:00
thduynguyen
12ca4317a2
fix namespace
2014-11-26 15:27:28 -05:00
Andrew Melim
cc4cdc93a3
Correct issue with function overload ambiguity when passing function pointer to expression constructor on windows
2014-11-26 15:06:16 -05:00
dellaert
e1b453b952
Fixed warning
2014-11-26 17:32:30 +01:00
dellaert
d5ca61972f
Fixed assert
2014-11-26 17:31:46 +01:00
dellaert
72644b8ff3
Fixed headers
2014-11-26 17:31:40 +01:00
dellaert
c1a10f2cf7
Moved files
2014-11-26 17:25:40 +01:00
dellaert
3307a49e65
is_constrained is now isConstrained
2014-11-26 12:33:17 +01:00
dellaert
c2e38633b5
Merge remote-tracking branch 'origin/develop' into feature/BAD_custom_chart
...
Conflicts:
gtsam_unstable/nonlinear/ExpressionFactor.h
2014-11-26 11:20:56 +01:00
dellaert
7aaf6a1e82
Headers and standard formatting
2014-11-26 09:04:34 +01:00
Frank Dellaert
50c93ec954
Merged in feature/fixIssue165 (pull request #48 )
...
Safer public interface
2014-11-25 16:13:50 +01:00
dellaert
dc4c0b54c0
Addressed code review by @hannessommer
2014-11-25 16:13:30 +01:00
Chris Beall
7b1a9ba371
Merged in feature/TemplatedSmartFactors (pull request #39 )
...
Templated Smart Factors
2014-11-25 07:36:14 -05:00
dellaert
df91cf7fad
Made vaguely unsafe keysAndDims private (as it relies on keys and dimensions being in same order), as to not tempt people to use it.
2014-11-25 12:36:52 +01:00
dellaert
2ced73ebe1
We now use safe version in unwhitenedError
2014-11-25 11:29:50 +01:00
dellaert
2c35cda71f
Yet another indirection makes public code a bit cleaner.
2014-11-25 11:23:38 +01:00
dellaert
07e5475b6b
Making friends...
2014-11-25 11:02:54 +01:00
dellaert
e0248c3ca7
Created keysAndDims and safe version of values
2014-11-25 10:53:34 +01:00
Paul Furgale
915c760524
cleaned up the code a bit
2014-11-25 06:43:55 +01:00
Paul Furgale
5b44ddc3e5
Merge branch 'feature/BAD_custom_chart' of https://bitbucket.org/gtborg/gtsam into feature/BAD_custom_chart
2014-11-25 06:43:45 +01:00
Paul Furgale
14b582d268
cleaned up the code a bit
2014-11-25 06:42:36 +01:00
dellaert
4790bade85
Moved and refactored testing
2014-11-25 00:19:01 +01:00
Chris Beall
e34a237162
Merged in feature/ordering (pull request #34 )
...
METIS Ordering
2014-11-24 18:04:35 -05:00
Jing Dong
6c13834260
change back to lower case, and fix another similar header issue
2014-11-24 15:51:07 -05:00
Frank Dellaert
923c5733c7
Merged in fix/BAD_alignment_issue_154 (pull request #42 )
...
proposal to fix alignment in BAD (issue #154 )
2014-11-24 21:27:50 +01:00
Paul Furgale
5b5122d15b
Fixed a copy/paste error
2014-11-24 21:23:53 +01:00
Paul Furgale
07044137eb
A failing unit test for a custom chart
2014-11-24 21:14:59 +01:00
dellaert
867acbef6c
Fixed building wrapper.
2014-11-24 20:14:56 +01:00
Frank Dellaert
c570f53e57
Merged in feature/BAD_using_charts (pull request #41 )
...
Working on a prototype of wrapping external types
2014-11-24 19:01:58 +01:00
Frank Dellaert
ea02e577f5
Merged in feature/expressions (pull request #45 )
...
Pull request for debugging Expression<double> issue
2014-11-24 18:40:31 +01:00
dellaert
a9090fd7af
Cleanup with Jing
2014-11-24 15:53:13 +01:00
Paul Furgale
9f68344abb
Addressed code review
2014-11-24 12:43:30 +01:00
HannesSommer
db6c9ff378
swtichted to Eigen::MatrixBase<Derived> as far as possible for dTdA to gain some performance and not to forget some types at some level :).
2014-11-24 10:48:15 +01:00
dellaert
3bf92d1a47
Force eval
2014-11-24 09:58:47 +01:00
Paul Furgale
a44baac308
Added a function for testing charts
2014-11-24 09:29:14 +01:00
Paul Furgale
6fc3c450a7
Fixed the chart concept check and cleaned up a bit
2014-11-24 08:18:55 +01:00
Paul Furgale
df7470866f
More progress on easy Jacobian testing
2014-11-24 07:44:06 +01:00
dellaert
586ad610f8
Added more unit tests that expose compilation issue
2014-11-24 02:15:48 +01:00
Richard Roberts
3ba9e8f405
Updated some usages that were missed
2014-11-23 15:24:55 -08:00
dellaert
9322b3ba8b
Unit test verifies Jacobian and value
2014-11-24 00:08:34 +01:00
dellaert
e0f9f7a33e
Fourier prototype that unfortunately does not compile
2014-11-23 23:16:04 +01:00
dellaert
f40940dffe
Tiny changes
2014-11-23 23:15:25 +01:00
dellaert
149bfe1729
Chery-picked Paul's changes
2014-11-23 23:15:10 +01:00
Richard Roberts
f9ca07e610
Converted Vector(2|3) << ... to Vector2(...) or Vector3(...) syntax
2014-11-23 10:22:25 -08:00
dellaert
83abb4c6ed
unit test with manual Fourier
2014-11-23 18:04:54 +01:00
dellaert
f21fe5043a
Created a new expressions.h file in nonlinear
2014-11-23 17:31:33 +01:00
HannesSommer
6cc7b17687
proposal to fix alignment in BAD (issue #154 )
2014-11-23 13:51:47 +01:00
Richard Roberts
77254900f2
Updated timing scripts for comma initializer
2014-11-22 18:07:27 -08:00
Richard Roberts
aa093a35da
Updated all comma initializer usages to use .finished()
2014-11-22 16:35:27 -08:00
dellaert
d00aeb7e70
Formatting and some small problems
2014-11-22 21:48:36 +01:00
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
dellaert
620fb4566f
Fixed matlab wrappers
2014-11-22 18:22:55 +01:00
dellaert
a9e3545a29
Merge remote-tracking branch 'origin/release/3.2.0' into feature/quadratic_programming
...
This should make merging in develop easier, and it also helps me understand what changed.
I mostly avoided conflicts by keeping Duy's versions of:
Conflicts:
gtsam/3rdparty/metis-5.1.0/CMakeLists.txt
gtsam/linear/JacobianFactor-inl.h
gtsam/linear/NoiseModel.cpp
gtsam/nonlinear/NonlinearFactor.h
and a number of other files. In particular, I did not upgrade Eigen or remove metis.
The following unit tests fail in this branch:
The following tests FAILED:
2 - testWrap (Failed)
85 - testGeneralSFMFactor (SEGFAULT)
142 - testIMUSystem (Failed)
178 - testTSAMFactors (Failed)
2014-11-22 15:18:09 +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
thduynguyen
ee52ca15dd
move LPSolver and QPSolver to unstable. Add script to compile lpsolve on Mac when doing cmake if it's not found.
2014-11-21 16:04:12 -05: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
dd255eb24c
Remove landmark template parameter
2014-11-19 13:07:14 -05:00
cbeall3
6529b793cc
Some fixes for feedback reported in pull request #39
2014-11-19 12:51:12 -05:00
cbeall3
f3d42a8487
Move to unstable
2014-11-17 19:53:21 -05: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
cbeall3
d24b799988
Merge remote-tracking branch 'origin/develop' into feature/TemplatedSmartFactors
2014-11-14 14:35:25 -05:00
dellaert
d4b868aa12
Formatting and documentation
2014-11-14 11:20:36 +01:00
Zhaoyang Lv
87ef601b66
changes revertted to 502a745
2014-11-13 21:26:33 -05:00
Zhaoyang Lv
ee3ea5bfad
reverse to previous MKL_BLAS defined order
2014-11-13 21:14:07 -05:00
Zhaoyang Lv
c4f3a48bc9
Revert "Fixed remaining compile issues in "make timing""
...
This reverts commit 502a7459f9
.
2014-11-13 21:07:27 -05:00
dellaert
502a7459f9
Fixed remaining compile issues in "make timing"
2014-11-14 02:30:10 +01:00
dellaert
c2c1de1761
Fix compile errors in issue #147
2014-11-14 02:19:48 +01:00
dellaert
865b0c0129
Fixed compile issue in Debug mode
2014-11-14 02:13:11 +01:00
dellaert
e2aef1b325
Merge remote-tracking branch 'origin/develop' into feature/BAD
2014-11-14 01:31:49 +01:00
Abhijit Kundu
1c97d1270d
Changing include order so as to OpenMP flags (if used) are defined
...
before metis. This fixes a compilation error with testFindSeparator.cpp
2014-11-11 17:14:51 -05:00
Jing Dong
0313c46272
fix DCHECK_LT in fix/wrap
2014-11-11 12:02:53 -05:00
dellaert
265184b6c9
Avoid warning
2014-11-10 17:56:08 +01:00
dellaert
e976aae38a
Avoid warning and re-formatted with BORG template
2014-11-10 16:27:33 +01:00
Jing Dong
139ef0d61d
fix glog macro to assert
2014-11-08 22:16:32 -05:00
Mike Bosse
e4936df80a
matlab wrappers compile, but need testing
2014-11-07 22:41:21 +01: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
a94835a2e4
Merge remote-tracking branch 'origin/develop' into feature/BAD
...
Conflicts:
.cproject
gtsam/geometry/Cal3DS2.cpp
gtsam/geometry/Cal3DS2.h
gtsam/geometry/Cal3Unified.h
gtsam/navigation/CombinedImuFactor.h
gtsam/navigation/ImuFactor.h
gtsam/nonlinear/NonlinearFactor.h
gtsam/slam/tests/testPoseRotationPrior.cpp
Modified: testGaussMarkov1stOrderFactor.cpp, testPoseRotationPrior.cpp
2014-11-04 17:04:57 +01:00
dellaert
3824fe5f90
Fixed assert_equal and warnings
2014-11-04 15:48:30 +01:00
dellaert
efc2dc69fe
Got rid of some concats
2014-11-04 15:44:41 +01:00
dellaert
4afe132b1a
Fixed dimensions of Vectors
2014-11-04 15:41:14 +01:00
dellaert
da3677e704
No more LieVector/LieScalar
2014-11-03 13:52:08 +01:00
dellaert
f1dd554a9d
No more LieVector (too much copy/paste here)
2014-11-03 13:38:25 +01:00
dellaert
2a745b6c26
No more LieVector/LieScalar
2014-11-03 13:32:58 +01:00
dellaert
39ce31d0cc
No more LieVector
2014-11-03 13:15:41 +01:00
dellaert
b5327673fb
Get rid of LieVector
2014-11-03 11:02:15 +01:00
dellaert
492c607f9e
No more Lie types
2014-11-03 09:27:40 +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
8a6d8bfc82
Back to single
2014-11-02 14:35:32 +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
cbeall3
699153ece9
Coding convention: convert tabs to two spaces
2014-10-30 12:44:46 -04:00
gawela
2788ec7f33
removed std::type_traits which is c++11
2014-10-29 10:23:13 +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
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
cbeall3
f916531492
remove typename from non-templated class
2014-10-24 13:06:45 -04:00
Mike Bosse
1fadda83e0
removed DerivedValue<> inheritence from classes
2014-10-24 18:34:06 +02:00
Chris Beall
eeb0293f27
Merged in feature/FixQuaternion (pull request #22 )
...
Was quaternion (somewhat) broken ?
2014-10-24 09:53:50 -04:00
dellaert
e7ec6b3fa5
Fixed size
2014-10-23 12:04:16 +02:00
dellaert
77e7f0437d
Merge remote-tracking branch 'origin/feature/FixQuaternion' into feature/BAD
...
Conflicts:
gtsam/geometry/tests/testRot3M.cpp
gtsam/geometry/tests/testRot3Q.cpp
2014-10-23 10:03:10 +02:00
dellaert
845697555a
Fixed tests for Quaternion mode but Pose3 not in EXPMAP mode
2014-10-23 09:52:35 +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
a29f09423c
Merge branch 'develop' into feature/BAD
...
Conflicts:
gtsam/linear/tests/testGaussianBayesNet.cpp
2014-10-22 13:56:27 +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
113b9d2e74
Got rid of unnecessary LieVector usage that broke fixed-code
2014-10-22 01:32:59 +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
fcbc1e90cf
More traits
2014-10-21 18:03:28 +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
4a854f7e22
No using namespace in headers
2014-10-15 11:01:27 +02:00
dellaert
898c06ccbb
New multi-threaded, realistic SFM example (1M factors, not 1M calls on same factor)
2014-10-15 11:01:02 +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
dellaert
ef5bf03c81
Clean up
2014-10-13 23:04:30 +02:00
dellaert
70f0caf0e3
Experimenting w Fusion
2014-10-13 22:50: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
ba0b68110f
Boost Fusion needed to access values :-(
2014-10-13 13:56:51 +02:00
dellaert
a52ff52941
Try some meta-transforms
2014-10-13 13:34:00 +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
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
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
fea2eb0b5f
Inlined VerticalBlockMatrix construction
2014-10-12 11:05:43 +02:00
dellaert
ed62271f81
Dealing with constrained noise model
2014-10-12 10:52:07 +02:00
dellaert
86d3e559e6
Merge branch 'feature/BAD' into feature/BAD_linearize
2014-10-11 23:07:40 +02:00
dellaert
c9f80536c0
Added a constraint model
2014-10-11 23:07:23 +02:00
dellaert
3c6f7a42e6
Merge branch 'feature/BAD' into feature/BAD_linearize: easier trace/dTdA access
2014-10-11 22:31:43 +02:00
dellaert
c776e87f78
Refactoring for readability/sanity
2014-10-11 21:33:07 +02:00
dellaert
0c7ea68f2f
Now overwriting linearize as preparation for direct VericalBlockMatrix
2014-10-11 17:05:53 +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
9585823d5d
...but works with correct size !
2014-10-11 11:32:52 +02:00
dellaert
deed7b8018
Unary prints, but still-faults downstream
2014-10-11 11:30:06 +02:00
dellaert
05f78b6dca
Re-factor, allow traceExecution
2014-10-11 11:29:42 +02:00
dellaert
1f692638f5
Accessing matrices works
2014-10-11 11:04:39 +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
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
a2d2d82e0e
some namespace management
2014-10-11 07:39:13 +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
5cfe761f27
Timing multi-threaded code
2014-10-10 17:17:20 +02:00
dellaert
ae93dd9869
Commented out repeated arguments
2014-10-10 13:57:37 +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
40fc6f5c03
Working prototype
2014-10-10 12:29:01 +02:00
dellaert
dd1b931802
Successfully defined Jacobian
2014-10-10 12:03:13 +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
563c4d214c
Renamed BADFactor -> ExpressionFactor
2014-10-09 13:00:56 +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
31c138d0d6
Profile Bin(Leaf,Un(Bin(Leaf,Leaf))) by default
2014-10-08 17:52:46 +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
4ac065fab4
Show explanation of timing
2014-10-08 17:27:46 +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
ba9faa68b6
New Leaf/noise tests
2014-10-08 13:56:54 +02:00
dellaert
d7022a21c7
More samples to average
2014-10-07 20:11:19 +02:00
dellaert
c4a92acde1
Avoid argument temporaries
2014-10-07 19:35:44 +02:00
dellaert
84987aa351
Deal with Rot3 changes
2014-10-07 19:35:20 +02:00
dellaert
3c1c9c6d12
Switch to pointers - nice improvement
2014-10-07 18:11:12 +02:00
dellaert
982dc29d2f
Time ternary version as well
2014-10-07 18:10:53 +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
921b79f446
No more default argument
2014-10-07 01:01:16 +02:00
dellaert
0a6fe0f0a8
No more default argument
2014-10-07 00:44:40 +02:00
Luca
7a4f307342
moved biasedGPS and GaussMarkov to unstable
2014-10-06 13:11:40 -04: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
51eab1068f
Time the most common SFM expression
2014-10-06 13:57:37 +02:00
dellaert
5c96b7f38d
Made naming more suggestive of AD process rather than generic H1,H2...
2014-10-06 13:19:01 +02:00
dellaert
0ed96dda33
Avoid alloc and copy
2014-10-06 12:14:15 +02:00
dellaert
c748fdb404
Re-did with move semantics. Dangerously imperative.
2014-10-06 12:13:52 +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
3f017bf51f
An optimized version
2014-10-03 14:35:39 +02:00
dellaert
c20b588fe0
timing, is pretty bleak for Expressions
2014-10-03 14:19:23 +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
da4cfe6fdc
ternary test
2014-10-02 23:39:17 +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
166396d6f6
Added tests with constant Expression
2014-10-02 23:26:59 +02:00
dellaert
e7e7b3806f
New test with constant argument
2014-10-02 20:28:37 +02:00
dellaert
d5709facf6
Added Pose2SLAMExample
2014-10-02 20:20:00 +02:00
dellaert
8f856ceaf8
Renamed
2014-10-02 20:19:49 +02:00
dellaert
df17758469
Assume H pre-allocated as usual, and *move* Jacobians to avoid allocations
2014-10-02 13:30:16 +02:00
dellaert
0800b83285
Slight efficiencies
2014-10-02 11:44:16 +02:00
dellaert
bef23a2008
ExpressionExample now only uses BADFactors and yields same result as SFMExample
2014-10-02 11:21:24 +02:00
dellaert
ebb091d390
BadFactor is now a functioning NoiseModelFactor
2014-10-02 11:01:39 +02:00
dellaert
3f5aa0f23e
Expression version of SFMExample (in progress)
2014-10-01 14:10:54 +02:00
dellaert
ce53346a9e
Added Symbol versions
2014-10-01 13:12:07 +02:00
dellaert
0d94eeb480
Created expressions.h header
2014-10-01 11:25:49 +02:00
dellaert
254f8c5f75
Possible naming convention
2014-10-01 11:01:38 +02:00
dellaert
a6c1ba19cc
Concise version
2014-10-01 10:53:35 +02:00
dellaert
d45250a989
Fixed dim
2014-10-01 10:45:57 +02:00
dellaert
d935172ac5
Tightened
2014-10-01 10:43:03 +02:00
dellaert
8f6eae922a
Tightened/cleaned up
2014-10-01 10:36:24 +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
dellaert
1aa7b570f9
Added BADFactor header and created new test
2014-09-30 12:30:15 +02:00
dellaert
ef52e12f87
Split off BADFactor code from Expression
2014-09-30 12:29:57 +02:00
dellaert
5a1ea6071b
Split off ExpressionNode hierarchy
2014-09-30 12:20:02 +02:00
dellaert
e2f6f01941
Some cleanup of headers/old code
2014-09-30 12:12:17 +02:00
dellaert
e789de2353
Check derivatives of compose
2014-09-29 12:14:59 +02:00
dellaert
05c49601ed
Added Expression header
2014-09-29 12:06:04 +02:00
Paul Furgale
de3e1c3ed1
Fixed the product compilation
2014-09-29 07:22:25 +02:00
dellaert
10a35f3535
Structure for compose. Does not compile (uncomment line 492)
2014-09-28 17:50:36 +02:00
dellaert
7be6ac0e8c
Now compiles but product construction fails because optional derivatives can't be delivered by the operator*()
2014-09-28 10:22:19 +02:00
dellaert
11187a4c0d
I added operator logic but can't get it to compile
2014-09-27 18:22:37 +02:00
dellaert
ab1f4c1e32
keys now functional
2014-09-27 16:08:59 +02:00
dellaert
186afcc95e
Made constructors private
2014-09-27 15:58:34 +02:00
dellaert
e487979b0f
Removed obsolete typedefs
2014-09-27 15:49:25 +02:00
dellaert
cde9a41acc
Formatting only
2014-09-27 15:48:07 +02:00
Paul Furgale
768c7f00e1
Removed the clone method
2014-09-27 15:01:02 +02:00
dellaert
9eed7e10fe
Added testBAD.run target, fixed an issue with getKeys
2014-09-27 14:08:31 +02:00
Paul Furgale
1a00d7e3d9
Second draft of the BAD implementation
2014-09-27 11:39:46 +02:00
cbeall3
e0a9eb63ce
Fix for Windows: renamed some tests
2014-09-24 16:47:07 -04:00
dellaert
b47837462e
Unit test succeeds !!!
2014-09-21 18:54:01 +02:00
dellaert
4bc82da85c
Compile with optional derivatives
2014-09-21 18:36:19 +02:00
dellaert
8e3a0f4847
Prototype [jacobians] code
2014-09-21 18:22:28 +02:00
dellaert
583c81ffea
Implemented uncalibrate, value test succeeds
2014-09-21 17:59:34 +02:00
dellaert
6a5e4191a3
UnaryExpression
2014-09-21 17:43:47 +02:00
dellaert
b89f65cccc
BinaryExpression
2014-09-21 17:37:09 +02:00
dellaert
59b0e6a657
Progress on error
2014-09-21 17:13:25 +02:00
dellaert
d9fafc1bf1
No more base class
2014-09-21 16:48:24 +02:00
dellaert
7a64e2e546
Class hierarchy
2014-09-21 16:30:30 +02:00