Commit Graph

5699 Commits (c97f29be23a78fe229ccc71a178a2443ac235d56)

Author SHA1 Message Date
thduynguyen c97f29be23 first unittest finding QP's feasible initial point works 2014-05-01 23:55:43 -04:00
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