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
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
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
3d334401f5
Constructor from BayesNet now in FactorGraph base class
...
FactorGraph::eliminate
Removed eliminate_partially
2009-11-05 04:56:59 +00:00
Richard Roberts
e2414561be
Merged r895:900 from branch weightedQR - LinearFactorGraph now has sigmas and ConditionalGaussian now has precisions
2009-11-04 20:59:16 +00:00
Frank Dellaert
eab038651e
Renamed BayesNet::insert -> push_back. BayesTree now uses Bayes nets as nodes.
2009-11-02 05:17:44 +00:00
Frank Dellaert
a8d267c4ca
Small change necessitating lots of edits: Conditionals now include key of random variable
...
This simplifies Bayes nets quite a bit. Also created a Conditional base class, derived classes ConditionalGaussian and SymbolicConditional
Finally, some changes were needed because I moved some headers to .cpp
2009-11-02 03:50:30 +00:00
Frank Dellaert
943b692a6b
BIG CHANGE: I got rid of the BayesChain/ChordalBayesNet classes and we now simply have a BayesNet class. It will just happen to be chordal when it is the result of an elimination. This will simplify a lot of things.
...
The main renaming that happened is
BayesChain -> BayesNet
ChordalBayesNet -> GaussianBayesNet == BayesNet<ConditionalGaussian>
SymbolicBayesChain -> SymbolicBayesNet == BayesNet<SymbolicConditional>
2009-10-31 19:53:20 +00:00
Frank Dellaert
68d2f81f0a
Smoother now creates x1...xT, not x0 anymore
2009-10-31 16:54:38 +00:00
Frank Dellaert
fd5f43092f
Ordering is now a list and Testable
2009-10-31 15:24:22 +00:00
Frank Dellaert
0d7d0e2161
Explicit template instantiation in .cpp files, so we can link with the code without having to include -inl.h everywhere...
2009-10-30 05:45:22 +00:00
Frank Dellaert
80b162a412
LinearFactorGraph::eliminate_one is now FactorGraph::eliminateOne<ConditionalGaussian>
...
Symbolic version FactorGraph::eliminateOne<SymbolicConditional> also implemented and tested
2009-10-29 14:34:34 +00:00
Frank Dellaert
a513ae0287
Changed names and moved two LinearFactorGraph functions to FactorGraph
...
Added SymbolicFactorGraph compiulation unit and unit tests
Added symbolic combine constructor
2009-10-29 05:39:13 +00:00
Frank Dellaert
b6cee73571
Significant change: Made FactorGraph templated on Factor only, and moved error and probPrime to derived classes
...
Moved find_and_remove_factors to base class
Added and tested symbolic factor graph constructor and conversion from any factor graph type
2009-10-29 04:11:23 +00:00
Frank Dellaert
4d9ff77249
moved timing example here from EasySLAM
2009-10-27 13:34:36 +00:00
Frank Dellaert
f54ba387fe
FactorGraph, ChordalBayesNet, and ConditionalGaussian now Testable
2009-10-24 23:14:14 +00:00
Chris Beall
baef89ccf0
updated find_factors_and_remove to use map of factor indices to gather factors connected to a variable. factors are set to null instead of being erased. also updated size() to count non-NULL factors, and print() to only print non-NULL factors. added new unit test which tries to remove the same variable twice.
2009-10-23 00:56:40 +00:00
Chris Beall
52bedcad3a
order 1 factors by using map
2009-10-22 21:33:00 +00:00
Frank Dellaert
c3b8a20b5c
Added new test for find_factors_and_remove and deleted obsolete one
2009-10-22 13:28:37 +00:00
Frank Dellaert
1b199a4d3b
Added a "factors" function that returns indices to all factors connected to a variable.
2009-10-22 05:02:31 +00:00
Alex Cunningham
485f8d003b
Added notes concerning the ordering issue when handling sets of LinearFactor::shared_ptrs
2009-10-14 21:06:44 +00:00
Alex Cunningham
7d0a30c20f
Renamed FGConfig to VectorConfig in gtsam, easylib, EasySLAM, and mast.
2009-10-14 20:39:59 +00:00
Frank Dellaert
68e20eec2c
2 BIG changes:
...
(1) FactorGraph and NonlinearOptimizer now no longer have a .cpp file, but a -inl.h file as in [http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml Google's C++ Style Guide]. This means if you expect to instantiate one of the functions in a cpp file, you have to include the -inl.h file.
(1) getOrdering is now in FactorGraph, and the non-linear version does *not* take a config anymore.
Long version: I made this change because colamd works on the graph structure alone, and should not depend on the type of graph. Instead, because getOrdering happened to implemented in LinearFactorGraph first, the non-linear version converted to a linear factor graph (at the cost of an unnecessary linearization), and then threw all that away to call colamd. To implement this in a key-neutral way (a hidden agenda), i had to modify the keys_ type to a list, so a lot of changes resulted from that.
2009-09-13 04:13:03 +00:00
Frank Dellaert
fd11a1e2c7
Changed setBCN to take a reference
2009-08-22 22:01:17 +00:00
Richard Roberts
d80fa24a9f
Fixing directory structure
2009-08-21 22:23:24 +00:00