Frank Dellaert
09573a36c9
Moved empty to Factor base class.
2021-12-31 16:16:56 -05:00
Varun Agrawal
6c3aca8cac
remove virtual from overridden methods, add virtual destructors to appease compiler
2021-04-30 12:58:52 -04:00
Varun Agrawal
4d6eef2c2f
override print methods and update wrapper
2021-04-29 19:43:27 -04:00
Fan Jiang
65036b2019
Devirtualize hessianDiagonal
2020-06-03 20:07:14 -04:00
Fan Jiang
f73429133a
Switched to in-place update of the diagonal Hessian
2020-06-02 12:44:57 -04:00
Duy-Nguyen Ta
1cdc228d6a
remove trailing spaces
2019-02-11 10:58:34 -05:00
Frank Dellaert
2aa43e11bd
Use KeyVector everywhere to avoid conversions
2018-11-08 10:10:32 -05:00
Frank Dellaert
f6575323d6
Sidestep Scatter altogether and just use HessianFactor keys_. In theory, n^3 lookup cost, but in practice (as keys is contiguous memory) just as fast as map.
2015-06-13 12:06:13 -07:00
Frank Dellaert
41a0146b05
changed updateATA -> updateHessian. Much clearer
2015-06-12 00:20:37 -07:00
Frank Dellaert
39ffe3ac32
Made updateATA a virtual method for a small saving in CPU, but more importantly to allow for custom Jacobian or HessianFactors...
2015-06-10 15:53:43 -04:00
Thomas Schneider
ebf5746987
Fix some serialization warnings.
2015-03-06 16:12:09 +01:00
Sungtae An
e13243b140
Merge branch 'develop' into feature/RegularFactors
...
Conflicts:
gtsam/linear/GaussianFactorGraph.cpp
gtsam/linear/JacobianFactor.cpp
gtsam/linear/JacobianFactor.h
tests/testPreconditioner.cpp
2015-01-01 17:50:27 -05:00
dellaert
e5017984a1
traits_x -> traits
2014-12-26 16:47:51 +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
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
Sungtae An
960d10582d
Add pure virtual function in GaussianFactor and empty dummy virtual function in Jacobian/Hessian Factor for the raw memory access functions
2014-11-17 16:17:11 -05:00
Sungtae An
51df17ffdf
Remove virtual functions using raw memory access
2014-11-12 04:17:09 -05:00
thduynguyen
11969b32f6
fix gradient and gradientAtZero for linear constrained Jacobian, optionally scaled by the dual variables
2014-09-24 22:19:47 -04:00
thduynguyen
5e8c36b3ca
compute gradient wrt a key
2014-09-13 01:31:49 -04:00
thduynguyen
6d697f2c92
heuristic in EliminationPreferCholesky to work around the Indeterminant exception while solving linear constrained systems.
...
Instead of turning Hessian factors into Jacobian factors -- so that they can be eliminated with constrained Jacobian factors using the special QR in Constrained's noise model -- we combine all Hessian factors, eliminate the variable first to have a conditional and a new factor 1, then combine the constrained Jacobians with this conditional (also a Jacobian) to eliminate again, producing the final conditional, and a new factor 2. The two new factors are then combined into a new Hessian factor to be returned.
2014-09-11 14:51:35 -04:00
Luca
37b750411f
added gradientAtZero with raw memory access
2014-04-22 18:38:12 -04:00
Luca
d2b6b12bba
added raw memory access of hessianDiagonal
2014-03-17 19:28:49 -04:00
hchiu
b464b808ef
First cut on raw MultiplyHessianAdd for HessianFactor and JacobianFactor. Unit test is passed in testGaussianFactorGraphUnordered (multiplyHessianAdd3). Note the interface currently needs the accumulated diminsions of key variables. See GaussianFactorGraph::multiplyHessianAdd(double alpha,const double* x, double* y).
2014-03-04 01:58:34 -05:00
dellaert
b837cb1b03
Declared hessianBlockDiagonal
2014-02-14 13:18:46 -05:00
dellaert
76959d4d18
Added hessianDiagonal; works for Gaussian factor graphs with JacobianFactors
2014-02-14 01:14:32 -05:00
Alex Cunningham
8e35490f22
Added virtual destructor to pacify a warning
2013-11-04 21:29:12 +00:00
Frank Dellaert
daf5938577
const correctness
2013-10-29 04:58:51 +00:00
Frank Dellaert
4591835223
gradientAtZero is now implemented in the fcators (Richard says, need to work on efficiency)
2013-10-29 03:42:33 +00:00
Pablo Fernandez Alcantarilla
6a383799d7
Skeleton code for GaussianFactorGraph::multiplyHessian
2013-10-24 15:52:32 +00:00
Richard Roberts
9a10242e96
Fixed warnings
2013-08-09 21:35:42 +00:00
Richard Roberts
b3428881bd
Fixed key formatting
2013-08-06 18:04:35 +00:00
Richard Roberts
0d05bf5ac5
Started on HessianFactor, converted Nonlinear stuff and disabled a lot of more advanced classes so the library compiles with nonlinear using unordered.
2013-08-01 21:57:43 +00:00
Richard Roberts
3ade190128
Renamed old classes to "Ordered" and removed "Unordered" name from new classes
2013-07-29 23:55:40 +00:00
Richard Roberts
a54d177202
Added dll export tags and updated cmake scripts so that GTSAM can build as a shared library on windows
2013-03-13 18:56:21 +00:00
Richard Roberts
eb21cf0911
Cleaned up information/augmentedInformation for GaussianFactor and GaussianConditional
2012-10-08 22:40:37 +00:00
Chris Beall
4297d24c96
changed tabs to spaces for consistent indentation in all of GTSAM
2012-10-02 14:40:07 +00:00
Richard Roberts
fb409a2cc7
Implemented partial elimination and sparse variable index remapping (Reduction) to enable Frank's new marginal code
2012-10-01 16:12:41 +00:00
Alex Cunningham
b2e15eea4e
Added negate() to GaussianFactor, which computes the Anti-factor eqiuvalent, using implementation from the nonlinear Anti-factor
2012-06-28 19:43:00 +00:00
Richard Roberts
947e5fe5ee
Made typedefs / constants for IndexFormatter to simplify code
2012-06-28 01:52:48 +00:00
Alex Cunningham
c7734db4fa
Added formatting objects to linear and inference objects to allow for printing meaningful keys
2012-06-25 21:19:38 +00:00
Alex Cunningham
282dc6d788
comments and formatting
2012-06-21 15:46:39 +00:00
Richard Roberts
b73af866d6
Added computeInformation function to GaussianFactor to properly compute information matrix including noise models, and using it to fix bug in Marginals where noise model was not being accounted for (only affects when hard constraints are used)
2012-05-24 20:43:19 +00:00
Richard Roberts
91e7dc5882
Caching linearized factors in iSAM2, improves speed when linearization is expensive
...
Merge remote-tracking branch 'svn/branches/iSAM2_cache_linearized' into trunk
Conflicts:
.cproject
2012-04-11 14:17:59 +00:00
Duy-Nguyen Ta
e036dd460e
support cloning (deep copy) for ISAM2
2011-12-06 16:21:57 +00:00
Richard Roberts
e56b6ff392
Improving documentation
2011-09-05 18:37:43 +00:00
Alex Cunningham
c4d9208eeb
Added serialization for most linear/inference structures, simulated2D - serialization, except for example domains, should be complete
2011-06-04 16:52:54 +00:00
Frank Dellaert
e635b21154
made keys_ and nrFrontals_ private to ensure correct constructors are called
2011-03-25 16:57:28 +00:00
Frank Dellaert
5c193422af
Major change, elimination functions are now passed an "Eliminate function", so you can select at run-time which factorization method is used (symbolic, QR, etc...).
2011-03-24 19:27:12 +00:00
Richard Roberts
e4ed8cfd60
Made NonlinearFactor inherit from Factor<Symbol>, also hopefully fixed a compile error when implicitly up-casting from a derived factor type to its base type, which previously had some workaround(s) in Alex's code and in DiscreteFactor
2011-03-04 00:18:17 +00:00