Commit Graph

19 Commits (84d6b5be6ad73662cdd8648356c7fa1bd32d282d)

Author SHA1 Message Date
Richard Roberts 84d6b5be6a Re-enabled computing marginals of a set of variables (Inference::Marginal(...)) 2010-10-10 00:51:57 +00:00
Richard Roberts 1d52ff90a8 Merged simplelinear branch into trunk 2010-10-08 22:04:47 +00:00
Frank Dellaert 30b377e441 Fix makefiles to refer to $(top_srcdir) to enable parallel build 2010-07-13 19:13:07 +00:00
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
Frank Dellaert 925a5ca3c5 no -g, enable lapack 2010-07-11 05:36:50 +00:00
Frank Dellaert 16e2f8430b changed to compile without BLAS 2010-04-23 02:19:36 +00:00
Kai Ni 89a67b0fb7 update to latest ax_blas.m4; commented ax_blas out (mac is not influenced, but linux needs a new way to check); remove obsoleted --with-blas 2010-04-21 04:15:14 +00:00
Alex Cunningham a1273a91fc Integrated blas into gtsam using autotools 2010-03-15 18:17:43 +00:00
Kai Ni ed45d436be add gsl and atlas to configure 2010-01-27 05:15:52 +00:00
Frank Dellaert 7653aa8747 I changed myconfigure to
./configure --prefix=$HOME --with-toolbox=$HOME/toolbox/ --with-boost=/opt/local/include/ CXXFLAGS=" -pipe -g -O2 -march=core2 -DNDEBUG" --disable-static

based on reading From http://www.gentoo.org/doc/en/gcc-optimization.xml, including:

-O2: A step up from -O1. This is the recommended level of optimization unless you have special needs. -O2 will activate a few more flags in addition to the ones activated by -O1. With -O2, the compiler will attempt to increase code performance without compromising on size, and without taking too much compilation time.
-O3: This is the highest level of optimization possible, and also the riskiest. It will take a longer time to compile your code with this option, and in fact it should not be used system-wide with gcc 4.x. The behavior of gcc has changed significantly since version 3.x. In 3.x, -O3 has been shown to lead to marginally faster execution times over -O2, but this is no longer the case with gcc 4.x. Compiling all your packages with -O3 will result in larger binaries that require more memory, and will significantly increase the odds of compilation failure or unexpected program behavior (including errors). The downsides outweigh the benefits; remember the principle of diminishing returns. Using -O3 is not recommended for gcc 4.x.
2010-01-18 16:13:07 +00:00
Frank Dellaert a4a6e002e5 NOISE MODEL.
This is a big edit but with no templates involed, so it should not be a big deal.

New namespace gtsam::noiseModel collects all noise models, which provide efficient whitening and chain-rule implementation needed for optimization. The class hierarchy gives us the ability to use models from full covariances to i.i.d. unit variance noise with a single interface, where the latter will be much cheaper. 

From now on, all non-linear factors take a shared_ptr to a Gaussian noise model. This is done through the parameter (const sharedGaussian& model). The use of a shared pointer allows us to share one noise models for thousands of factors, if applicable.

Just like Richard's Symbol change, there is a compile flag GTSAM_MAGIC_GAUSSIAN which allows you to use doubles, vectors, or matrices to created noise models on the fly. You have to set it to the correct dimension. Use of this is *not* encouraged and the flag will disappear after some good soul fixed all unit tests.
2010-01-18 05:38:53 +00:00
Frank Dellaert ea14959835 NoiseModel inhertance structure reversed, all constructors protected, new static "factories" 2010-01-17 17:47:23 +00:00
Frank Dellaert 049cea6964 3D Pose SLAM + removed obsolete Urban files that somehow re-appeared in CitySLAM 2010-01-16 19:37:17 +00:00
Frank Dellaert 99db4c37d8 2D Pose SLAM: created a new templated factor to accommodate GPS measurements, and as part of the refactor I consolidated all Pose2 SLAM classes in pose2SLAM.h. For backwards compatibility it contains
typedef pose2SLAM::Prior Pose2Prior;
	typedef pose2SLAM::Odometry Pose2Factor;
	typedef pose2SLAM::Constraint Pose2Constraint;
	typedef pose2SLAM::Config Pose2Config;
	typedef pose2SLAM::Graph Pose2Graph;
2010-01-16 18:01:16 +00:00
Frank Dellaert eef8445ebd added Kai's trick 2010-01-16 04:24:35 +00:00
Chris Beall 11b61138b7 oops, when I fixed the typo I had the optimized version uncommented. 2009-12-11 05:11:14 +00:00
Chris Beall 2f8e7b2d47 fixed important typo 2009-12-11 05:07:23 +00:00
Chris Beall b65b0c367e Significant performance gains can be achieved by compiling gtsam with NDEBUG defined. This causes uBLAS to be optimized.
5x speedup on large factor graph, 10x speedup on smaller one.
2009-12-11 04:47:52 +00:00
Richard Roberts d80fa24a9f Fixing directory structure 2009-08-21 22:23:24 +00:00