Frank Dellaert
41a6e64bbb
Fixed insert to use IndexTable, a new class
2010-01-22 02:27:26 +00:00
Michael Kaess
188561d925
removeTop/Path now returns a BayesNet to avoid converting the conditionals to a factor graph
2010-01-21 00:38:22 +00:00
Richard Roberts
19dc8bf4b1
Fixed size() crash when BayesTree empty, added clear() function to BayesTree, added and removed #includes to fix link errors
2010-01-20 04:23:35 +00:00
Michael Kaess
ecde508318
incremental nonlinear working
2010-01-20 01:52:40 +00:00
Michael Kaess
d2291a38d1
bug fixes after COLAMD activiation: BayesTree::insert was wrong, BayesTree::removeTop/Path fixed and simplified
2010-01-20 01:24:32 +00:00
Michael Kaess
0e6607d160
relinearization working, but currently applied to all variables
2010-01-18 22:37: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
Michael Kaess
fbe425b966
relinearizing part of a BayesTree, requiring caching of intermediate results during elimination
2010-01-17 06:06:20 +00:00
Michael Kaess
75ab62a729
ISAM2 (nonlinear ISAM) partially there, unit test currently disabled
2009-12-29 05:57:05 +00:00
Michael Kaess
5dfd1921e1
template nightmare resolved, all tests working
2009-12-27 23:15:36 +00:00
Michael Kaess
4403b51fcd
isam functionality separated into ISAM class, still within BayesTree
2009-12-26 04:44:13 +00:00
Frank Dellaert
68de3ae715
better comments
2009-12-17 19:34:27 +00:00
Michael Kaess
2270c7d787
BayesTree animation
2009-12-14 06:01:15 +00:00
Michael Kaess
0116b3a515
severe bug fixed in updating of Bayestree
2009-12-13 20:54:48 +00:00
Michael Kaess
9bbea6dcbd
some additional includes needed with newer compiler
2009-12-08 21:40:09 +00:00
Frank Dellaert
4951a25453
More efficient removeTop
2009-11-23 00:02:06 +00:00
Frank Dellaert
35af122e83
Added a new version of removeTop and simplified update
2009-11-22 23:50:01 +00:00
Michael Kaess
7d384488e3
BayesTree::update generalized and moved from testIncremental to BayesTree; testIncremental removed
2009-11-22 23:35:13 +00:00
Frank Dellaert
64a43b0492
removeTop now does not bomb when a clique does not exist: it just does nothing
2009-11-22 22:59:56 +00:00
Frank Dellaert
952798e751
fixed orphans bug
2009-11-22 18:22:17 +00:00
Frank Dellaert
d4aaa5d114
Added two more removePath tests and fixed bug in removeTop. But orphan list is still incorrect.
2009-11-22 18:06:28 +00:00
Michael Kaess
45292f7bd6
Cliques implemented; unit test on orphans for removePath; bug fix in removePath/orphans
2009-11-22 17:40:24 +00:00
Frank Dellaert
53754ccbb8
removeTop with one factor implemented and one test works (orphans not yet checked)
2009-11-22 17:34:59 +00:00
Frank Dellaert
6f11c0803b
Cliques class
2009-11-22 16:46:29 +00:00
Frank Dellaert
7ce62f1626
Some template magic and boost:tie cleared up the compile issues in removePath
2009-11-22 16:04:51 +00:00
Michael Kaess
4449cfd30c
remove_path now also returns list of orphaned subtree roots; compile problem...
2009-11-21 23:41:43 +00:00
Frank Dellaert
82aae3c161
Some re-factoring (using BOOST_FOREACH to loop over string list), root is now NULL after removing root clique
2009-11-21 21:48:10 +00:00
Frank Dellaert
00b5b25591
Awesome recursive version of removePath
2009-11-21 06:14:53 +00:00
Frank Dellaert
072846a70f
moved addClique and removeClique implementations to inl.h,
...
removePath takes clique argument now
2009-11-21 06:07:46 +00:00
Michael Kaess
0286bc27eb
removePath mostly working
2009-11-21 03:38:13 +00:00
Frank Dellaert
e2a3d1cb8f
Fixed test
2009-11-19 04:52:46 +00:00
Frank Dellaert
76d0a60b88
commented out all print statements
2009-11-18 18:22:08 +00:00
Frank Dellaert
f40182518a
size() now returns correct nr. of cliques, not number of keys
2009-11-18 18:05:12 +00:00
Frank Dellaert
bef2efacb7
fixed equals
2009-11-18 16:30:57 +00:00
Frank Dellaert
f677341108
Moved inference methods to new compilation unit. Added [factor], and [marginalize] now returns a factor graph.
2009-11-12 04:56:30 +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
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
86173b66af
Clique marginal and dramatically simplified single variable marginal.
2009-11-08 22:51:12 +00:00
Frank Dellaert
58007a8167
Working recursive (but not cached) shortcut.
2009-11-08 04:41:01 +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
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
Frank Dellaert
d9289d14b3
marginals on any scalar now work
2009-11-05 08:06:32 +00:00
Frank Dellaert
cabcda5a96
marginal compiles and runs for frontal node in clique
2009-11-05 06:30:50 +00:00
Frank Dellaert
11fcd5a69d
KISS: just a map of pointers in BayesTree now
2009-11-05 05:29:47 +00:00
Frank Dellaert
4865edb883
Removed debug code, added marginal function
2009-11-04 03:22:29 +00:00
Frank Dellaert
e9d942f81e
BayesNet is now list-based for fast bi-directional access
...
SLOW O(n) random access operator[key] provided
(should maybe be called [at] as it does bounds checking)
I also fixed a bug in equals.
2009-11-03 06:29:56 +00:00