Commit Graph

26 Commits (fea5beb63819085e52e96a58314dda55a02690ca)

Author SHA1 Message Date
Frank Dellaert fea5beb638 Re-organization: moving all files.
I re-organized into original cpp directory and 4 additional directories: base, geometry, slam, and tests.
cpp will be further renamed/sub-divided and contains the core library.
I wanted it not depend on geometry or slam, which necessitated moving complicated tests to a dedicated directory.
2010-07-12 07:16:31 +00:00
Kai Ni 2c5522f2fa fixed junction tree unit tests 2010-07-11 07:30:27 +00:00
Viorela Ila e9a2158f5b fix broken unit test and Matrix.cpp 2010-07-07 23:17:01 +00:00
Kai Ni 574936bb5a added profiling flags
added draft for junction tree
2010-07-07 21:41:50 +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
Kai Ni d0d2aa8aee added erase method 2010-03-04 23:39:36 +00:00
Kai Ni 7e8aa6e6b9 add unit test for the constructor 2010-02-26 05:04:03 +00:00
Alex Cunningham 5b60511505 Reverted default elimination code to older implementation - use switch in optimize() or eliminate() to use newer code. 2010-02-25 20:43:59 +00:00
Alex Cunningham 022f706d94 Changed default elimination algorithm to newer one with fewer matrix allocations to solve crashing bug from LM discovered in MAST 2010-02-24 14:19:52 +00:00
Alex Cunningham ac41ee7215 Added a test in GaussianFactor to demo a problem found in MAST where eliminating a single factor with two priors causes a memory corruption error. To run the test and see the error, go to the last test in testGaussianFactor called "exploding_MAST_factor" and uncomment the indicated line. 2010-02-23 18:41:07 +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
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
Alex Cunningham 5f588031bc Merged NoiseQR back into trunk 2010-01-20 18:32:48 +00:00
Frank Dellaert b47438a86c Smart named constructors Covariance/Variances/Variance 2010-01-20 00:26:49 +00:00
Alex Cunningham fb0ca07bf1 Added and tested whitening parameter for matrix() and matrix_augmented() 2010-01-19 16:52:01 +00:00
Alex Cunningham 88e465910a SQP tests and implementation now use the new Key system 2010-01-19 05:33:44 +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 266fc56dea Gradient using new operator^ and errors method 2009-12-27 12:13:31 +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 fe974a3e72 Rank test needs to be re-thought 2009-11-13 06:17:19 +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