Commit Graph

44 Commits (fea5beb63819085e52e96a58314dda55a02690ca)

Author SHA1 Message Date
Kai Ni 2c5522f2fa fixed junction tree unit tests 2010-07-11 07:30:27 +00:00
Alex Cunningham 1a11998273 Removed #ifdef overrides for GaussianFactorGraph and some extraneous GSL code 2010-07-09 16:33:52 +00:00
Kai Ni 707213a502 split render to frontal and separator 2010-07-09 09:06:58 +00:00
Kai Ni 6248db54dd distribute the factors along the junction tree 2010-07-09 07:31:15 +00:00
Michael Kaess 39d18328e6 added CCOLAMD, changed colamd compile from C++ to C compiler, added extern accordingly 2010-07-08 21:54:53 +00:00
Kai Ni 574936bb5a added profiling flags
added draft for junction tree
2010-07-07 21:41:50 +00:00
Kai Ni ef20bc75db remove obsoleted comments 2010-07-05 19:44:08 +00:00
Kai Ni d5c6f62387 massive check in for using spqr_front 2010-07-04 23:50:21 +00:00
Kai Ni 9ddeaa91c6 linking to SparseQR as a shared library results in a performance hit. The proper way is to link the static library.
add prepareLinear to NonlinearOptimizer so that some computation can be cached and does not happen every time.
2010-06-05 20:46:16 +00:00
Kai Ni ebfd979cc4 fixed a bug in SPQR calling, and the Victoria Park data-set just flies 2010-06-01 02:20:10 +00:00
Kai Ni d6267c0440 a preliminary version of SparseQR routines that passes the unit tests but has slightly different results as the old method when optimizing large nonlinear problems. 2010-05-31 02:21:37 +00:00
Kai Ni e6e93475cf added sizeOfA 2010-05-26 08:05:31 +00:00
Frank Dellaert 517c82f62f Small details, like using a reference in FOREACH 2010-02-21 17:06:11 +00:00
Frank Dellaert 3247751b5d Major check-in: there are now two interchangeable implementations of VectorConfig.
VectorMap uses a straightforward stl::map of Vectors. It has O(log n)
insert and access, and is fairly fast at both. However, it has high overhead
for arithmetic operations such as +, scale, axpy etc...

VectorBTree uses a functional BTree as a way to access SubVectors
in an ordinary Vector. Inserting is O(n) and much slower, but accessing,
is O(log n) and might be a bit slower than VectorMap. Arithmetic operations
are blindingly fast, however. The cost is it is not as KISS as VectorMap.

Access to vectors is now exclusively via operator[]
Vector access in VectorMap is via a Vector reference
Vector access in VectorBtree is via the SubVector type (see Vector.h)

Feb 16 2010: FD: I made VectorMap the default, because I decided to try
and speed up conjugate gradients by using Sparse FactorGraphs all the way.
2010-02-17 03:29:12 +00:00
Alex Cunningham 87cc573d34 Added a new combine process for GaussianFactors that allocates only one matrix when combining, rather than using append factor to make a large number of smaller matrices. There is a flag to switch between these modes, which currently defaults to the older approach. Currently, there does not appear to be a performance improvement, however. 2010-01-31 17:49:33 +00:00
Frank Dellaert ac870bce4c GaussianFactor::transposeMultiplyAdd 2010-01-31 03:33:53 +00:00
Frank Dellaert 9b4ff5e099 transposeMultiplyAdd provied BLAS-style call for iterative speed 2010-01-30 23:59:29 +00:00
Frank Dellaert 6ef09583b9 multiplyInPlace shaves a few seconds off but is fairly dangerous - I feel ambivalent.... 2010-01-30 17:31:05 +00:00
Alex Cunningham 59c7ce7e29 Integrated householder-based QR into NoiseModel. Note that the examples for GFG have changed to ensure that they are actually a linearized version of the nonlinear example. 2010-01-27 04:39:35 +00:00
Kai Ni 1685920d52 fixed Ab2 bug 2010-01-23 05:29:04 +00:00
Frank Dellaert afa964b8db Fixed sparse bug 2010-01-23 05:16:29 +00:00
Kai Ni b092fee64b pose2slamoptimizer unit tests worked 2010-01-23 03:49:05 +00:00
Frank Dellaert 807cffbd61 Pose2SLAMOptimizer prototype for use in MATLAB 2010-01-23 00:57:54 +00:00
Frank Dellaert 351cdd18c2 case change: SharedGaussian and SharedDiagonal are now classes with their own header file. Needed for MATLAB TORO hail Mary 2010-01-22 17:36:57 +00:00
Alex Cunningham 5f588031bc Merged NoiseQR back into trunk 2010-01-20 18:32:48 +00:00
Kai Ni 3806125096 add linear system as a template parameter in nonlinear optimizer
fixed a nasty bug and change the internal data type of subgraph preconditioner from reference to boost shared pointer. reference is not a good idea for class members, because no type checking will happen
2010-01-19 10:46:12 +00:00
Richard Roberts aef0b42562 Refactoring to use a new Symbol key instead of strings in Bayes*, Gaussian*, Ordering, Symbolic*, VectorConfig. Renamed existing type-checking key Symbol<C,T> to TypedSymbol<C,T> 2010-01-17 19:34:57 +00:00
Richard Roberts 19a3e228d7 Large refactoring - made several Lie group functions global, which used to be member functions, to treat Lie groups more uniformly. Also created Lie.h, and a preprocessor flag in numericalDerivative to change the coordinate frame derivatives are reported in. gtsam and easylib build and pass unit tests, but this will probably break other projects, which will require a few small changes to work again. Email coming in a few minutes to describe the changes. 2010-01-08 00:40:17 +00:00
Kai Ni 9845a5ae37 add findMinimumSpanningTree to FactorGraph 2010-01-06 11:15:37 +00:00
Frank Dellaert 793a9d58ae Errors is now a list 2009-12-30 17:13:36 +00:00
Frank Dellaert 8d4a029665 rhs method 2009-12-28 18:46:01 +00:00
Frank Dellaert 5ac304aff3 correct convergence criterion, verbose flag 2009-12-28 16:15:26 +00:00
Frank Dellaert 674ae9d030 steepest descent now all implemented in iterative.h/cpp 2009-12-28 12:37:34 +00:00
Frank Dellaert bc27afc49f CGD method now uses CGD template in iterative.cpp 2009-12-28 10:48:48 +00:00
Frank Dellaert 266fc56dea Gradient using new operator^ and errors method 2009-12-27 12:13:31 +00:00
Frank Dellaert 7d1428de60 Added Errors class and operator* for GaussianFactor and GaussianFactorGraph. Also moved a few functions to cpp. 2009-12-26 22:48:41 +00:00
Frank Dellaert 886c7dcdcc formatting and comments 2009-12-26 15:06:21 +00:00
Viorela Ila d5d70d7751 gradientDescent_ and conjugateGradientDescent_ works in matlab 2009-12-13 03:02:14 +00:00
Frank Dellaert c38683cd64 Sped up and fixed (?) sparse 2009-12-12 06:18:29 +00:00
Frank Dellaert 99533f286f Vanilla Conjugate Gradient Descent works 2009-12-12 04:44:34 +00:00
Frank Dellaert 726858145a gradient descent (with fixed nr. of iterations, choosing optimal step size) 2009-12-11 04:59:05 +00:00
Frank Dellaert e7a912bd3b Calculate gradient of factor graph objective function. 2009-12-10 20:19:15 +00:00
Alex Cunningham c7b86cec97 Renamed ConditionalGaussian -> GaussianConditional 2009-11-12 16:41:18 +00:00
Alex Cunningham 77a1754b69 Renamed LinearFactor -> GaussianFactor, LinearFactorGraph -> GaussianFactorGraph 2009-11-12 16:16:32 +00:00