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
612aca96c6
added comments
2010-07-07 06:11:19 +00:00
Kai Ni
d0a93ad9dd
insert bayes net as a clique
2010-02-13 07:09:27 +00:00
Kai Ni
31fc894a4a
added 4-way symbolic factor
...
fixed a bug in the bayes tree to graphviz routine
2010-02-09 21:32:14 +00:00
Richard Roberts
5367e5a157
All std::map<Symbol,T> are now SymbolMap<T>, which is just a thin wrapper around std::map. at(Key) is used instead of first checking with find when an exception should be thrown for non-existent keys. This does not change any behavior or timing currently. This check-in also includes some functions in BayesTree for gathering clique statistics.
2010-01-22 04:41:40 +00:00
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
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
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
Michael Kaess
4200271cf4
GaussianBayesTree added, testBayesTree split
2009-12-09 19:39:25 +00:00
Viorela Ila
ac315082aa
new example from RSS sqrtSAM in testBayesTree
2009-11-23 20:11:10 +00:00
Frank Dellaert
f272e2f6fe
Added a second smoother test
2009-11-23 05:27:37 +00:00
Michael Kaess
10a8ac34ec
iSAM smoother test
2009-11-23 01:16:58 +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
9da2f16f4d
Removed copy/paste in unit tests
2009-11-22 18:12:29 +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
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
Frank Dellaert
b113194e58
While watching TV :-) added some constructors for more readable tests.
2009-11-21 04:59:50 +00:00
Michael Kaess
0286bc27eb
removePath mostly working
2009-11-21 03:38:13 +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
03f865d4b1
Used typedefs with similar naming convention.
2009-11-12 18:33:14 +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
Frank Dellaert
1ae6bb4030
Added push_fron convenience method to add ConditionalGaussians into a Bayes net with much less clutter. Modernized some very old tests in the process.
2009-11-12 06:09:03 +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
f5d186522e
Standardized on new shared_ptr naming convention
2009-11-07 17:24:05 +00:00
Frank Dellaert
d9289d14b3
marginals on any scalar now work
2009-11-05 08:06:32 +00:00
Frank Dellaert
e87c19ed7a
ConditionalGaussian now stores sigmas
2009-11-05 06:59:59 +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