Commit Graph

5698 Commits (6520ae8075277ccb3d25349c6452d9bca8b7b0da)

Author SHA1 Message Date
thduynguyen 6520ae8075 fix bugs in variable's columnNo index when passing to lpsolve. Obviously lpsolve modifies the raw buffer we pass to it! 2014-05-01 18:42:18 -04:00
thduynguyen 2408faed24 add lp_solve and the gtsam LPSolver interface 2014-05-01 14:55:05 -04:00
thduynguyen e2e93627aa QPSolver now returns dual values after solving. This can be used as a guessed dual value for the nonlinear level 2014-05-01 14:44:14 -04:00
thduynguyen bb1d8e6bb2 move detailed comments to the cpp file. An important comment about an Eigen's exception when converting a jacobian to a hessian factor, probably due to a bug in clang compiler. 2014-05-01 14:41:55 -04:00
thduynguyen dd43a87430 remove support for embedded lagrangian part to constraint's jacobian matrices. It's very hacky! 2014-04-29 16:20:32 -04:00
thduynguyen 8b5ef17f0e dexp and dexpInv for Point2 and Rot2 2014-04-29 16:18:52 -04:00
thduynguyen bbb76aab95 create VectorValues with all 1.0 2014-04-29 16:18:23 -04:00
thduynguyen dd3c1fd073 important bug fix in building dual graph when finding the variable dimension from its first factor in the factor indices. 2014-04-29 11:49:39 -04:00
thduynguyen 147f666a6c make Jacobian/Hessian cast functions static to use them in other places. TODO: move them to GaussianFactor 2014-04-18 12:21:34 -04:00
thduynguyen faf4643dd3 size() should return size_t not Key 2014-04-18 12:19:55 -04:00
thduynguyen 3d3748bb44 build dualgraph supports least-squares multipliers 2014-04-17 12:01:29 -04:00
thduynguyen 99889703a6 add build dir to GTSAM_INCLUDE_DIR so projects built with gtsam build tree can find <gtsam/config.h> 2014-04-17 12:00:35 -04:00
thduynguyen 7fb9f47072 Fix gtsam's old segfault bug in JacobianFactor::isConstrained: return false if it has no noisemodel. Test Nocedal06book, example 16.4, pg 475 passed. 2014-04-15 17:28:23 -04:00
thduynguyen 02ac8d23b0 Test with Matlab's QP example 2014-04-15 16:47:07 -04:00
thduynguyen cbda04a96d disable printing 2014-04-15 16:37:32 -04:00
thduynguyen 90ec933da3 refactor QPSolver into its own class 2014-04-15 16:27:19 -04:00
thduynguyen 47255fbab6 Detailed comments for choosing the step size 2014-04-15 16:03:14 -04:00
thduynguyen 495b7ba099 Detailed comments about the lambda<0 condition for good ineq <=0 constraints, wrt the Lagrangian L = f(x) - lambda*c(x) 2014-04-15 15:14:10 -04:00
thduynguyen b07b431ac0 first ineq QP test passed! 2014-04-15 13:55:24 -04:00
thduynguyen 22cbe326e3 fix bug in weightedPseudoInverse dealing with negative weights of ineq constraints 2014-04-15 13:55:04 -04:00
thduynguyen 825eff0d49 small improvement on negative weights 2014-04-15 06:11:26 -04:00
thduynguyen dc31ef143a fix bug in NoiseModel signs for ineq weights. Unittest dual graph 2014-04-15 06:07:41 -04:00
thduynguyen c2378204ef QPSolver in progress. Finish building dual graph, but not tested.
Use mixed constrained noise with sigma < 0 to denote inequalities.
Working set implements the active set method, turning inactive inequalities
to active one as equality constraints by setting their corresponding sigmas to 0
and vice versa. Dual graph now has to deal with mixed sigmas.
2014-04-14 22:57:55 -04:00
Luca e4f2d39a35 Merge branch 'feature/smartFactors' 2014-04-06 14:43:49 -04:00
Luca c2069a26cd Merge branch 'feature/LevenbergMarquardt' 2014-04-06 14:35:52 -04:00
Luca 2908197f1a Merge branch 'develop' 2014-04-06 14:35:32 -04:00
Luca 08a54ee470 Merge branch 'develop' 2014-04-06 14:28:09 -04:00
Luca bfff17fd05 Merge branch 'origin/feature/LevenbergMarquardt' 2014-04-06 14:26:54 -04:00
Luca 310fce3be9 last updates from smartFactors project (these files are now removed from that project) 2014-04-06 14:25:46 -04:00
Andrew Melim e98b90bd2a Make building of metis/partition optional via cmake flag 2014-04-04 15:49:04 -04:00
Luca 51248072f9 fixed bug in hessianDiagonal (raw access) 2014-04-03 17:50:52 -04:00
Andrew Melim 49c11e8fa7 Remove warning flag 2014-04-03 16:35:10 -04:00
Andrew Melim 268bc189ce Detect clang to prevent issues with llvm 2014-04-03 16:31:55 -04:00
Alex Cunningham cb3cec3789 Replaced static variable counter inside ISAM2 update() with a member variable to avoid a bug where if multiple instances of ISAM2 are running in the same process, the counter gets incremented in each of them, resulting in very difficult to debug failures. 2014-03-27 16:15:29 -04:00
jing 02fc860d9e add smartfactor base classes, smartProjectionPoseFactor, and its unit test to gtsam_unstable 2014-03-27 13:14:13 -04:00
Luca 9860c8452e Merge branch 'develop' 2014-03-26 17:26:10 -04:00
Luca 6edd3f10fc added raw memory access version of hessianDiagonal 2014-03-19 17:43:20 -04:00
cbeall3 178b7f29da clang warnings 2014-03-17 21:56:50 -04:00
Luca d2b6b12bba added raw memory access of hessianDiagonal 2014-03-17 19:28:49 -04:00
Luca f65fc11801 completed print function 2014-03-17 19:06:35 -04:00
Luca 727679ea1d Merge branch 'feature/LevenbergMarquardt' 2014-03-17 15:58:31 -04:00
Luca 17fef90eaf Merge branch 'develop' 2014-03-17 15:54:46 -04:00
cbeall3 c5c1460081 silence two more metis warnings 2014-03-17 15:49:14 -04:00
Luca 5f8f38a8e0 when relative decrease is small and positive, the step is applied before termination 2014-03-17 14:20:41 -04:00
Luca 3ee404a5a6 removed unused parameters. cleaned up hard-coded parameters 2014-03-17 14:12:04 -04:00
Andrew Melim 9ffc928536 Correct signed vs unsigned comparison warnings 2014-03-17 12:07:54 -04:00
Andrew Melim 719592258b Remove unused variable 2014-03-17 12:04:40 -04:00
Andrew Melim da09c31c7b Supress metis warnings for gcc 2014-03-17 11:59:13 -04:00
Andrew Melim 8e848946ab Default build executables to off 2014-03-17 11:46:07 -04:00
Andrew Melim 3070e63ccc cmake option to build metis executables 2014-03-17 11:42:10 -04:00