Commit Graph

37 Commits (fea5beb63819085e52e96a58314dda55a02690ca)

Author SHA1 Message Date
Kai Ni 2c5522f2fa fixed junction tree unit tests 2010-07-11 07:30:27 +00:00
Richard Roberts ad0bd147f0 Fixed compiler warnings 2010-07-10 21:01:06 +00:00
Kai Ni 707213a502 split render to frontal and separator 2010-07-09 09:06:58 +00:00
Kai Ni 574936bb5a added profiling flags
added draft for junction tree
2010-07-07 21:41:50 +00:00
Kai Ni d5c6f62387 massive check in for using spqr_front 2010-07-04 23:50:21 +00:00
Richard Roberts 1c0dcbc438 Added smart=true for the noise model when constructing GaussianFactor from GaussianConditional (and unit test). If a factor with a constrained noise model was eliminated, and then a new factor was constructed from the conditional (this happens in iSAM), the new factor would have an unconstrained noise model with zero sigmas. 2010-05-16 17:08:14 +00:00
Frank Dellaert 5e97d07f5e *it is already the right type 2010-02-26 04:03:56 +00:00
Frank Dellaert 044ea1348d Modernized/refactored, esp. with regards to map insert and iterating. 2010-02-26 03:20:15 +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 5e4b23df59 Matrix::multiplyAdd and transposeMultiplyAdd are "level 2" BLAS and speed up the numeric part of the code substantially. Alex might be able to speed them up even more by making them use real BLAS code within Matrix.cpp. 2010-01-31 16:04:24 +00:00
Frank Dellaert ac870bce4c GaussianFactor::transposeMultiplyAdd 2010-01-31 03:33:53 +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
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
Richard Roberts 5367e5a157 All std::map<Symbol,T> are now SymbolMap<T>, which is just a thin wrapper around std::map. at(Key) is used instead of first checking with find when an exception should be thrown for non-existent keys. This does not change any behavior or timing currently. This check-in also includes some functions in BayesTree for gathering clique statistics. 2010-01-22 04:41:40 +00:00
Alex Cunningham 5f588031bc Merged NoiseQR back into trunk 2010-01-20 18:32:48 +00:00
Alex Cunningham 8db99db57e Small performance improvement for matrix_augmented, with accompanying test in timeGaussianFactor 2010-01-20 14:09:44 +00:00
Frank Dellaert 9f4da004c2 got rid of verbose printing 2010-01-19 19:04:18 +00:00
Alex Cunningham fb0ca07bf1 Added and tested whitening parameter for matrix() and matrix_augmented() 2010-01-19 16:52:01 +00:00
Frank Dellaert b01c111a1d GaussianFactor now uses noiseModel internally - not yet externally 2010-01-19 04:39:28 +00:00
Frank Dellaert e935f1745e stop copying matrices... 2010-01-18 21:17:25 +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
Frank Dellaert 46a65d89df using ediv_ where needed 2009-12-31 10:30:06 +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 c38683cd64 Sped up and fixed (?) sparse 2009-12-12 06:18:29 +00:00
Frank Dellaert a66f08a5e0 testing new alphaFactor 2009-12-11 18:03:43 +00:00
Frank Dellaert f91a1f0192 error_vector 2009-12-11 17:42:54 +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 d7c67532bf Changed format of Matrix::vector_scale() to switch arguments 2009-12-08 21:10:38 +00:00
Frank Dellaert 2a4e90a283 Re-factored append_factor to use FOREACH_PAIR 2009-12-05 02:00:20 +00:00
Chris Beall e98081f92c changes to append_factor which give more than 2x speedup on my data. Matrices in As are no longer copied/edited/replaced each time they need to be changed, but created once and then updated in place. 2009-12-04 21:03:32 +00:00
Frank Dellaert 2178589263 Debug printout and variable names 2009-11-13 06:13:58 +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