Commit Graph

192 Commits (a38ebece1e1279a5ea9fb30e25d51fd9479d2b4b)

Author SHA1 Message Date
Frank Dellaert a38ebece1e New compilation unit that collects generic, templated inference methods that go between factor graphs and Bayes nets. These used to be in BayesNet-inl.h and FactorGraph-inl.h 2009-11-12 04:52:40 +00:00
Viorela Ila 4a7e05fffa change all print() to print(string s) and create SymbolicFactor 2009-11-11 22:45:08 +00:00
Chris Beall 70efccefbc VSLAMFactor Testable 2009-11-11 21:09:43 +00:00
Alex Cunningham 8c695a778c Implemented a rank deficient constraint test in testLinearFactor: note that it is possible to reorder elimination to make a system solvable or rank-deficient 2009-11-11 19:00:39 +00:00
Eohan George ab65dfb4dd Adding include file stdio.h to resolve compiling issue when upgrading to Ubuntu 9.10. The printf() compiles on ubuntu 9.04 and mac machines. 2009-11-11 17:15:17 +00:00
Alex Cunningham f51614813e Improved weighted eliminate to handle arbitrary linear equality constraints 2009-11-11 14:42:09 +00:00
Frank Dellaert d585a329dc Added MATLAB-friendly versions of eliminate and optimize in LinearFactorGraph (with trailing underscore). Also fixed some MATLAB code. 2009-11-11 07:14:13 +00:00
Frank Dellaert ac840d6f0a 1) DCVectorConfig I believe was obsolete as well as any conversion from and to Vectors, which I removed
2) load and flush are gone. 
3) I made a VSLAMConfig "Testable". 
4) I added an explicit template instantiation to avoid having to include -inl.h files
5) I added some more test code in testVSLAMFactor
2009-11-11 05:14:03 +00:00
Frank Dellaert 00ff066b33 Fixed compile error 2009-11-11 05:13:25 +00:00
Frank Dellaert 8d2d48d252 made removeAndCombineFactors a function, not a method 2009-11-11 05:12:45 +00:00
Chris Beall 710d396d0b cleaned up a few includes to make VSLAMGraph work properly after the move into gtsam. 2009-11-10 22:49:22 +00:00
Chris Beall dc3b85e43d Todo: make wrapper for GaussianBayesNet. For now eliminate returns void in gtsam.h 2009-11-10 21:15:28 +00:00
Chris Beall 08c9718b12 Moving VSLAMConfig into gtsam. VSLAMFactor lived there already, but was using VectorConfig directly... now using VSLAMConfig. 2009-11-10 20:19:00 +00:00
Manohar Paluri 0d928035e0 added empty constructors for serialization, also made sure SymbolicConditional.h was installed 2009-11-10 14:55:07 +00:00
Manohar Paluri 1f15650da0 Added serialization of base class 2009-11-10 14:44:53 +00:00
Alex Cunningham ddc0173671 Basic handling of constraints now works in factor graphs, assuming there is only one constraint on any given variable. 2009-11-10 04:36:07 +00:00
Alex Cunningham a7b711db37 Removed constraint variations on graphs/factors 2009-11-10 04:33:39 +00:00
Alex Cunningham 2c37c94b5d Replaced the householder transform with the weighted system
Removed constrained components from makefile, they will disappear shortly
2009-11-09 21:34:20 +00:00
Alex Cunningham 03985d16f6 Fixed equality checking with NaNs in Matrix
removed extraneous print statement in Vector
2009-11-09 16:57:30 +00:00
Chris Beall 01ee9246d7 fix Matlab toolbox to work with Frank's recent changes to gtsam. 2009-11-09 16:53:13 +00:00
Alex Cunningham 1ae81b59d8 Fixed vector comparisons that will erroneously return true when there are NaN values. 2009-11-09 16:47:37 +00:00
Frank Dellaert a3de1964d7 BIG CHANGE:
1) eliminate methods no longer return a shared pointer. Shared pointers are good for Factors and Conditionals (which are also non-copyable), because these are often passed around under the hood. However, a BayesNet is simple a list of shared pointers and hence does not cost a lot to return as an object (which is compiler-optimized anyway: there is no copy). So, the signature of all eliminate methods changed to simply return a BayesNet<> object (not a shared pointer).

2) GaussianBayesNet::optimize is now replaced by optimize(GaussianBayesNet) and returns a VectorConfig and not a shared pointer

3) GaussianBayesNet and SymbolicBayesNet are now simply typedefs, not derived classes. This is desirable because the BayesTree class uses templated methods that return BayesNet<Conditional>, not a specific BayesNet derived class.
2009-11-09 07:04:26 +00:00
Frank Dellaert 7bd40e836d Cleaned up and added test for VSLAMFactor 2009-11-09 04:46:34 +00:00
Frank Dellaert e340178de5 Easy constructor 2009-11-09 04:46:08 +00:00
Frank Dellaert dd1b023ca9 Fixed special case for root 2009-11-09 04:45:38 +00:00
Frank Dellaert cc22e82ca6 Joint densities (covariances) now done. Was exceedingly easy :-) 2009-11-09 00:13:44 +00:00
Frank Dellaert 3464c6a36f Create from a single string 2009-11-08 22:51:29 +00:00
Frank Dellaert 86173b66af Clique marginal and dramatically simplified single variable marginal. 2009-11-08 22:51:12 +00:00
Frank Dellaert 10e618f360 New function marginals. Also: combine entire Bayes nets with push_back and push_front. And finally: some convenience constructors in GaussianBayesNet. 2009-11-08 22:50:26 +00:00
Frank Dellaert 58007a8167 Working recursive (but not cached) shortcut. 2009-11-08 04:41:01 +00:00
Frank Dellaert d1b8925617 Construct symbolic version of any Bayes net 2009-11-08 04:39:54 +00:00
Frank Dellaert 532be063f9 new templated function combine 2009-11-08 02:50:19 +00:00
Frank Dellaert 93da9e0f2c pop_front 2009-11-08 02:49:18 +00:00
Frank Dellaert cc5a2c3183 Renamed double-templated functions to _eliminate and _eliminateOne, and created FactorGraph-specific eliminateOne methods to make life easier 2009-11-07 21:03:30 +00:00
Frank Dellaert df3e5f2416 BIG: eliminate and eliminateOne now doubly templated functions, not methods.
Minor: Standardized on new shared_ptr naming convention:
shared_factor -> sharedFactor
conditional_ptr -> sharedConditional
node_ptr -> sharedClique
2009-11-07 19:31:39 +00:00
Frank Dellaert f5d186522e Standardized on new shared_ptr naming convention 2009-11-07 17:24:05 +00:00
Frank Dellaert 6339b5d19d Made Node public 2009-11-07 15:58:45 +00:00
Alex Cunningham 7ef9ed950b Improved performance of matrix scaling in LinearFactor::matrix_augmented
Added matrix scaling functions to scale either the rows or columns by values from a vector
2009-11-06 13:43:39 +00:00
Frank Dellaert cd313e2f82 operator[] to retrieve clique 2009-11-06 05:55:29 +00:00
Frank Dellaert e1716a39cd Two changes: LinearFactor::sparse and LinearFactorGraph:sparse, and renamed VariableSet -> Dimensions, which is now a map from keys to integer variable dimensions. Merged in from the "sparse" branch created with Viorela. 2009-11-06 05:43:03 +00:00
Alex Cunningham fb74ef03b2 Added to LinearFactor a matrix_augmented() function to get a single augmented matrix [A b]
Removed extra copying in LinearFactor::eliminate()
2009-11-05 15:08:58 +00:00
Alex Cunningham 6c5603de0c Fixed remaining LinearFactor unit tests
Added equality check for Variable
2009-11-05 13:52:12 +00:00
Frank Dellaert d9289d14b3 marginals on any scalar now work 2009-11-05 08:06:32 +00:00
Frank Dellaert beabb62f29 More informative print 2009-11-05 08:05:54 +00:00
Frank Dellaert bd54c39a73 Fixed bug in smoother example 2009-11-05 08:05:34 +00:00
Frank Dellaert e87c19ed7a ConditionalGaussian now stores sigmas 2009-11-05 06:59:59 +00:00
Frank Dellaert 88b8f4e16b fixed unit test 2009-11-05 06:34:43 +00:00
Frank Dellaert cabcda5a96 marginal compiles and runs for frontal node in clique 2009-11-05 06:30:50 +00:00
Frank Dellaert 7f516394df Added dummy argument to work around compile conundrum 2009-11-05 06:30:10 +00:00
Frank Dellaert 06f07420d1 back() 2009-11-05 06:29:32 +00:00