Richard Roberts
|
79a3b8dd30
|
Derive BayesTreeOrphanWrapper from conditional instead of factor
|
2013-08-01 21:57:18 +00:00 |
Richard Roberts
|
60d5feb5cf
|
Working on ISAM
|
2013-07-29 23:56:04 +00:00 |
Richard Roberts
|
3ade190128
|
Renamed old classes to "Ordered" and removed "Unordered" name from new classes
|
2013-07-29 23:55:40 +00:00 |
Richard Roberts
|
5746dedacb
|
Enabled and made GaussianBayesTree unit tests pass
|
2013-07-29 23:54:38 +00:00 |
Richard Roberts
|
a7540a7305
|
Removed unused code
|
2013-07-27 18:35:31 +00:00 |
Richard Roberts
|
619c772a80
|
Updated and made removeTop unit tests pass
|
2013-07-27 18:33:43 +00:00 |
Richard Roberts
|
594c0412cb
|
Adjusted parameters
|
2013-07-27 18:33:42 +00:00 |
Richard Roberts
|
1ee51fb6f5
|
A couple cleanups
|
2013-07-26 21:03:10 +00:00 |
Richard Roberts
|
d3afcf9770
|
Changed parameter
|
2013-07-26 18:00:36 +00:00 |
Richard Roberts
|
3118f6bb9f
|
JunctionTree keeps track of "problem size" at each node
|
2013-07-26 01:10:16 +00:00 |
Richard Roberts
|
0b13c437fe
|
Updated print functions
|
2013-07-26 01:10:12 +00:00 |
Richard Roberts
|
c788c525ea
|
Added timing statements in new code
|
2013-07-23 18:34:23 +00:00 |
Richard Roberts
|
65657916ab
|
SymbolicBayesTreeUnordered shortcut and marginal unit tests pass
|
2013-07-23 16:14:56 +00:00 |
Richard Roberts
|
aef3ba5e56
|
Fixed bug in COLAMD ordering (unordered branch)
|
2013-07-23 03:53:00 +00:00 |
Richard Roberts
|
a28b9152e6
|
Fixed BayedTreeUnordered copying, a few small bugs
|
2013-07-23 02:17:11 +00:00 |
Richard Roberts
|
472f246b97
|
Combined changes - fixed up push_back and += functions in FactorGraphUnordered, enabled BayesTree marginals/shortcut code and unit tests, and cleaned up other template arguments, etc.
|
2013-07-23 02:17:09 +00:00 |
Richard Roberts
|
25de39c481
|
Added typedef
|
2013-07-23 02:17:04 +00:00 |
Richard Roberts
|
b0f0c71d01
|
Added constrained COLAMD functions
|
2013-07-23 02:17:03 +00:00 |
Richard Roberts
|
38c1066750
|
Readded BayesTree operator[]
|
2013-07-23 02:17:01 +00:00 |
Richard Roberts
|
6842f4a13b
|
Made argument order in elimination functions consistent
|
2013-07-17 03:13:26 +00:00 |
Richard Roberts
|
b857dab6a9
|
Renamed unit tests already converted to 'Obsolete'
|
2013-07-17 03:13:00 +00:00 |
Richard Roberts
|
dae249be2e
|
Tweak with push_back
|
2013-07-16 20:22:04 +00:00 |
Richard Roberts
|
3f73d7801c
|
Fixed eliminating empty graph
|
2013-07-16 20:22:02 +00:00 |
Richard Roberts
|
132cc2ea72
|
Fixes in EliminateableFactorGraph header
|
2013-07-16 20:22:01 +00:00 |
Richard Roberts
|
333903c4aa
|
Fixed factor graph construction and push_back from iterators and containers over plain and shared_ptr objects
|
2013-07-16 17:37:08 +00:00 |
Richard Roberts
|
e9f30660b3
|
Fixing constructors and unit tests
|
2013-07-16 03:57:32 +00:00 |
Richard Roberts
|
c954b87441
|
Interface tweaks
|
2013-07-16 00:33:25 +00:00 |
Richard Roberts
|
82df8193b6
|
Changed back to single-threaded elimination for now, until the code is optimized
|
2013-07-12 22:27:52 +00:00 |
Richard Roberts
|
3d62299789
|
Fixed bugs and compile errors for elimination and back-sub
|
2013-07-09 17:50:51 +00:00 |
Richard Roberts
|
db8fcfaa4f
|
Switched to parallel elimination
|
2013-07-09 17:50:49 +00:00 |
Richard Roberts
|
74c503faaa
|
Formatting
|
2013-07-09 17:50:42 +00:00 |
Richard Roberts
|
40bf395856
|
Serialization fix
|
2013-07-09 17:50:40 +00:00 |
Richard Roberts
|
9bdc5f1113
|
Small cleanups and fixes in included header files, functions in header file vs cpp/inst file, formatting, private/public, and inheritance.
|
2013-07-09 17:50:38 +00:00 |
Richard Roberts
|
b0836ac57c
|
Commented out Hessian, cholesky, and gradient code so that library compiles
|
2013-07-09 17:50:32 +00:00 |
Richard Roberts
|
21f8079924
|
Standardizing interfaces
|
2013-07-08 01:33:43 +00:00 |
Richard Roberts
|
ed6a077e9e
|
Made FactorGraph equals protected since it should be overridden
|
2013-07-05 20:45:56 +00:00 |
Richard Roberts
|
79ce96dceb
|
Cleanups in BayesTree and SymbolicBayesTree
|
2013-07-02 14:54:20 +00:00 |
Richard Roberts
|
4fa8332c77
|
Fixed errors and warnings in new unordered code
|
2013-07-01 20:19:41 +00:00 |
Richard Roberts
|
67f3109e75
|
Fixed warnings in preexisting code
|
2013-07-01 20:19:36 +00:00 |
Richard Roberts
|
5cc13abbf1
|
Fixed size_t/Key/Index types
|
2013-07-01 20:19:31 +00:00 |
Richard Roberts
|
878f87fd25
|
Added invert to OrderingUnordered
|
2013-07-01 20:19:29 +00:00 |
Richard Roberts
|
115768abc6
|
Comment formatting
|
2013-06-28 18:14:04 +00:00 |
Richard Roberts
|
317ce7ada5
|
Finished elimination traits class
|
2013-06-28 18:14:03 +00:00 |
Richard Roberts
|
7b3ef381c1
|
Starting to add elimination traits class
|
2013-06-27 23:03:38 +00:00 |
Richard Roberts
|
b9016adbd6
|
Tweaks to factor constructors and other small cleanups
|
2013-06-27 23:03:36 +00:00 |
Richard Roberts
|
99b1ab4754
|
Added FactorGraph constructor from BayesTree in unordered code. Made FactorGraph += operator templated so can += any type that works with push_back.
|
2013-06-24 19:30:18 +00:00 |
Richard Roberts
|
9882d8b34e
|
public addClique function
|
2013-06-24 19:30:15 +00:00 |
Richard Roberts
|
9e373437a7
|
Removed unused BayesTreeCliqueDefault
|
2013-06-24 19:30:12 +00:00 |
Richard Roberts
|
123657e3d0
|
Merged from branch 'trunk'
|
2013-06-24 15:28:16 +00:00 |
Alex Cunningham
|
12d083e476
|
Added serialize()
|
2013-06-20 17:08:31 +00:00 |
Richard Roberts
|
d85a437c90
|
public/protected/private visibility fixes and fixes with base/derived classes
|
2013-06-17 21:16:08 +00:00 |
Richard Roberts
|
642eca5fc5
|
Added partial sequential and multifrontal elimination and const fixes
|
2013-06-17 21:16:06 +00:00 |
Richard Roberts
|
8f9d5ec2e2
|
Merge branch 'trunk'
|
2013-06-17 21:15:57 +00:00 |
Alex Cunningham
|
23b326824a
|
Added actual check to a test
|
2013-06-11 20:26:34 +00:00 |
Alex Cunningham
|
ee21ef61a6
|
Added exists() to FactorGraph to allow for checking whether a factor exists at a given index. Necessary for matlab interface.
|
2013-06-06 18:07:55 +00:00 |
Richard Roberts
|
71dd480b95
|
Fixed bug in JunctionTree construction with merging the wrong children - cleaned up some unit tests and added a sequential elimination ASIA test.
|
2013-06-06 15:36:58 +00:00 |
Richard Roberts
|
7f3d62eccd
|
Copied over all existing inference and symbolic unit tests that should now be symbolic. More work on multifrontal elimination.
|
2013-06-06 15:36:55 +00:00 |
Richard Roberts
|
ec2df2df3c
|
More work on elimination and BayesTree
|
2013-06-06 15:36:51 +00:00 |
Richard Roberts
|
f2fbd14f96
|
More work on BayesTree, replaced some print functions with generic tree print, moved Key, and some formatting fixes.
|
2013-06-06 15:36:43 +00:00 |
Richard Roberts
|
d11833317f
|
Adding elimination algorithms to factor graph eliminateable base class
|
2013-06-06 15:36:38 +00:00 |
Richard Roberts
|
626d66bdf4
|
Working on BayesTreeUnordered
|
2013-06-06 15:36:37 +00:00 |
Richard Roberts
|
3c7558d4be
|
Created BayesTreeUnordered
|
2013-06-06 15:36:35 +00:00 |
Richard Roberts
|
12ba0351d0
|
Using CloneForest in EliminationTree and JunctionTree
|
2013-06-06 15:36:33 +00:00 |
Richard Roberts
|
fb3dc0778d
|
Removed cvsignore in svn
|
2013-06-06 15:36:25 +00:00 |
Richard Roberts
|
bbad690f65
|
Working on JunctionTree elimination / BayesTree
|
2013-06-06 15:36:24 +00:00 |
Richard Roberts
|
b4d282f67e
|
Started implementing junction tree construction
|
2013-06-06 15:36:21 +00:00 |
Richard Roberts
|
5b1ac91c85
|
Converted elimination and printing of elimination trees to use generic DFS code
|
2013-06-06 15:36:20 +00:00 |
Richard Roberts
|
df728a969c
|
In the middle of converting to generic DFS code but committing to save history
|
2013-06-06 15:36:18 +00:00 |
Richard Roberts
|
7dfd999673
|
Changed order of conditionals created during elimination. Added unit test for disconnected graphs
|
2013-06-06 15:36:13 +00:00 |
Richard Roberts
|
9bd7af848c
|
Fixed remaining problems in elimination
|
2013-06-06 15:36:12 +00:00 |
Richard Roberts
|
d5e721a1d0
|
Continued work on unordered classes and elimination algorithm
|
2013-06-06 15:36:11 +00:00 |
Richard Roberts
|
5d05737798
|
Continued work on unordered classes and elimination algorithm
|
2013-06-06 15:36:02 +00:00 |
Richard Roberts
|
ffc55ad026
|
Added a bunch of Unordered classes, elimination algorithm in progress
|
2013-06-06 15:35:58 +00:00 |
Alex Cunningham
|
228a26947f
|
Removed checkConsistency() from BayesTree
|
2013-05-22 17:27:44 +00:00 |
Alex Cunningham
|
15fb7234e6
|
Added check to prevent trying to add disconnected factors in iSAM1
|
2013-05-22 17:27:43 +00:00 |
Alex Cunningham
|
41b0b90376
|
Added nrNodes() and checkConsistency() to BayesTree
|
2013-05-22 17:27:42 +00:00 |
Richard Roberts
|
e6993668ef
|
Disabled extra debug-mode consistency checks that may affect runtime complexity, these are now only enabled when GTSAM_EXTRA_CONSISTENCY_CHECKS is defined
|
2013-05-20 17:26:53 +00:00 |
Stephen Williams
|
07c4c95f18
|
Added serialization unit tests for binary files
|
2013-05-08 13:23:46 +00:00 |
Richard Roberts
|
eeef9eab32
|
Generating config.h file in CMake with quaternion mode flag, dataset paths. Also added CMake option to use system-installed Eigen, which works by generating a global eigen include file containing the corresponding include paths.
|
2013-04-25 15:57:15 +00:00 |
Richard Roberts
|
547323cc79
|
Fixed a bunch of compiler warnings
|
2013-04-05 21:34:04 +00:00 |
Richard Roberts
|
18f417581a
|
Changed missed std::list to FastList iterator
|
2013-04-05 21:33:58 +00:00 |
Richard Roberts
|
67e36febf2
|
Added DLL export annotations on new code
|
2013-04-01 19:29:53 +00:00 |
Frank Dellaert
|
458707ed45
|
Small changes for Qualifier 2013 Scheduling
|
2013-03-19 18:05:13 +00:00 |
Richard Roberts
|
d06edb8006
|
Added missing include
|
2013-03-18 19:45:37 +00:00 |
Richard Roberts
|
ddc5ec434b
|
Added missing 'typename'
|
2013-03-18 19:36:56 +00:00 |
Richard Roberts
|
467cd225af
|
Added non-recursive version of BayesTreeCliqueBase::deleteCachedShortcutsNonRecursive
|
2013-03-18 19:28:01 +00:00 |
Richard Roberts
|
229e2d9195
|
Added BayesTree::removeSubtree
|
2013-03-18 19:27:59 +00:00 |
Richard Roberts
|
d88ed78bb3
|
Made BayesTree::Cliques a FastList instead of an std::list
|
2013-03-18 19:27:56 +00:00 |
Richard Roberts
|
52410ac6f7
|
Whitespace
|
2013-03-18 19:27:55 +00:00 |
Richard Roberts
|
d9ef381483
|
Fixed bug in FactorGraph::eliminate - was not unpermuting the removed factors - even though they're removed, since they're shared, they can be used still in other graphs
|
2013-03-18 19:27:53 +00:00 |
Richard Roberts
|
4278e2b9dc
|
Including BayesTree.h instead of BayesTree-inl.h
|
2013-03-13 18:56:25 +00:00 |
Richard Roberts
|
a54d177202
|
Added dll export tags and updated cmake scripts so that GTSAM can build as a shared library on windows
|
2013-03-13 18:56:21 +00:00 |
Richard Roberts
|
6111c099ab
|
Improved build of shared vs static GTSAM libraries - now possible to build either one or both, executables link to the shared if it is being build, or otherwise to the static. Also removed separate shared/static CMake flags for gtsam_unstable, now uses the same GTSAM_BUILD_SHARED and GTSAM_BUILD_STATIC as gtsam.
|
2013-03-13 18:17:39 +00:00 |
Alex Cunningham
|
88496b33ab
|
Fixed compile error due to missing typename
|
2013-03-05 15:11:43 +00:00 |
Richard Roberts
|
a7e2a494ed
|
Added consistency check on removing cliques - that they exist in their parent's children list.
|
2013-03-05 05:47:24 +00:00 |
Richard Roberts
|
812f441d79
|
Bug fix in BayesTree::removeClique - only frontal variables should be cleared from the nodes_ index.
|
2013-03-05 05:47:23 +00:00 |
Alex Cunningham
|
eed9cf1e5c
|
Fixed permutation function in BayesTree to properly update the nodes listing. Added assertion to removeClique() to fail under malformed bayes trees.
|
2013-02-18 18:26:36 +00:00 |
Richard Roberts
|
dfe9a911f6
|
Fixed documentation in Permutation
|
2013-02-18 16:08:15 +00:00 |
Richard Roberts
|
97a6c3d94a
|
Removed obsolete commented-out debug code
|
2013-02-05 21:52:48 +00:00 |
Richard Roberts
|
f2a371e6c1
|
Cleaned up commented code from iSAM2 chain optimizations
|
2013-02-05 02:12:56 +00:00 |
Richard Roberts
|
9a23c2936a
|
Merge remote-tracking branch 'refs/remotes/svn/trunk' into isam2-chain-optimization
Conflicts:
gtsam/linear/VectorValues.h
|
2013-02-04 22:53:02 +00:00 |
Alex Cunningham
|
059a2c1b97
|
Added matlab interface to access cliques by index from BayesTree
|
2013-02-04 17:55:55 +00:00 |
Alex Cunningham
|
d1246bfe98
|
Added empty() to BayesTree
|
2013-01-27 20:12:22 +00:00 |
Richard Roberts
|
49a2602428
|
Whitespace
|
2013-01-08 23:31:50 +00:00 |
Richard Roberts
|
6488eae412
|
Whitespace
|
2013-01-08 23:31:02 +00:00 |
Richard Roberts
|
4cb66dcdcc
|
For speed, added partial permutation version of VectorValues::permuteInPlace and removed Permutation::partialPermutation (which generated a full-length permutation with only a few entries rearranged)
|
2012-12-18 14:21:58 +00:00 |
Richard Roberts
|
b58fb71377
|
Some usage (still more to do) of sparse and partial permutations in iSAM2 partial reordering to improve asymptotic performance.
|
2012-12-18 14:21:28 +00:00 |
Richard Roberts
|
bd285fbb52
|
Merge remote-tracking branch 'svn/trunk' into isam2-chain-optimization
Conflicts:
gtsam/linear/HessianFactor.cpp
gtsam/linear/VectorValues.cpp
|
2012-12-18 14:20:31 +00:00 |
Richard Roberts
|
e43e1affd3
|
Removed TODOs
|
2012-12-03 19:08:14 +00:00 |
Richard Roberts
|
f142758ec8
|
Fix to allow eliminating variable that doesn't exist using FactorGraph eliminate(One)
|
2012-11-26 19:21:09 +00:00 |
Richard Roberts
|
a5ab9ca32d
|
Made FactorGraph eliminate functions const
|
2012-11-26 19:21:00 +00:00 |
Richard Roberts
|
06f836c0a7
|
Using vector instead of deque in VariableIndex, BayesTree::Nodes, and GaussianISAM::Dims. In practice it appears to be faster due to smart reallocation strategies (still need to investigate whether we should use reserve, resize, or neither).
|
2012-11-23 23:22:46 +00:00 |
Yong-Dian Jian
|
e5dc2b86b2
|
add timing statements for colamd
|
2012-11-16 22:59:57 +00:00 |
Richard Roberts
|
0c3761a2a9
|
Reverted r14178, r14179, r14195, r14196 (isam2 chain optimizations) to move them to a branch
|
2012-11-11 20:51:03 +00:00 |
Richard Roberts
|
4512e4c85d
|
Some usage (still more to do) of sparse and partial permutations in iSAM2 partial reordering to improve asymptotic performance.
|
2012-11-03 21:10:58 +00:00 |
Richard Roberts
|
caa031f733
|
Reducing variable indices in computing joint marginals
|
2012-10-31 22:27:33 +00:00 |
Richard Roberts
|
b3ba46241c
|
Missing typename
|
2012-10-28 06:37:57 +00:00 |
Richard Roberts
|
4d4e17c2a7
|
Joint marginals using lowest-common-ancestor shortcuts. As part of this commit, caching of shortcuts is removed, the BayesTreeCliqueBase::marginal function computing single-variable shortcut marginals is removed, and the factor/frontal size checks in symbolic and discrete elimination are modified to permit eliminating empty factors or zero frontal variables.
|
2012-10-28 06:21:21 +00:00 |
Richard Roberts
|
24111423d7
|
Made specific eliminate and eliminateOne methods for SymbolicFactorGraph and GaussianFactorGraph and made them accessible from MATLAB
|
2012-10-27 19:45:28 +00:00 |
Richard Roberts
|
920bb52453
|
Moved eliminate and eliminateOne from inference to FactorGraph
|
2012-10-22 17:49:41 +00:00 |
Alex Cunningham
|
76b88bd06e
|
Added empty() to BayesNet
|
2012-10-09 18:21:06 +00:00 |
Alex Cunningham
|
f8b96ad090
|
Added print() to Reduction
|
2012-10-09 17:48:38 +00:00 |
Alex Cunningham
|
b05cd24a0b
|
Pacified signed/unsigned warning
|
2012-10-09 15:46:57 +00:00 |
Richard Roberts
|
25870f5797
|
Disabled problematic joint marginal code in BayesTree for now
|
2012-10-09 13:12:33 +00:00 |
Richard Roberts
|
360f0e9d6b
|
ifdef to make BayesTree joint marginals fall back on sequential solver joints to avoid duplicate information problem
|
2012-10-09 13:09:47 +00:00 |
Richard Roberts
|
90ca1d46f5
|
Removed obsolete code for avoiding partial elimination in BayesTreeCliqueBase::shortcut and GenericSequentialSolver::conditionalBayesNet
|
2012-10-09 00:18:22 +00:00 |
Richard Roberts
|
df9a86d340
|
Fixed typo/spelling (hopefully for the last time)
|
2012-10-09 00:14:42 +00:00 |
Richard Roberts
|
a06e8060ae
|
Made new marginals with caching the default
|
2012-10-08 23:56:31 +00:00 |
Richard Roberts
|
2841b8665f
|
Fixed comments and formatting
|
2012-10-08 23:34:17 +00:00 |
Richard Roberts
|
e52b6efb68
|
Fixed typo/spelling
|
2012-10-08 23:27:39 +00:00 |
Richard Roberts
|
2719f7ca86
|
Fixed compile error on GCC
|
2012-10-08 23:15:16 +00:00 |
Richard Roberts
|
0f6516dc3d
|
Using Reductions in all code paths for computing marginals, but not yet joint marginals. Also adds a lot of timing instrumentation in marginals code.
|
2012-10-08 22:40:51 +00:00 |
Richard Roberts
|
82f98fe1fb
|
Added additional timing instrumentation in elimination data structures
|
2012-10-08 22:40:45 +00:00 |
Richard Roberts
|
550e683cad
|
Fixed comment
|
2012-10-08 22:40:31 +00:00 |
Alex Cunningham
|
82593a2432
|
Added conversion functions from Fast* classes to stl containers. Added permuteWithInverse() to BayesTree
|
2012-10-08 20:30:59 +00:00 |
Alex Cunningham
|
a004354c20
|
Added assertions to check for valid pointer values
|
2012-10-08 19:11:02 +00:00 |
Richard Roberts
|
89b50e7679
|
Renamed tic -> gttic and toc -> gttoc to avoid conflict with PCL tic/toc
|
2012-10-02 20:18:41 +00:00 |
Richard Roberts
|
4876cc7ff7
|
Revamped timing statements - much easier to use, exception-safe (see email to frankcvs list)
|
2012-10-02 18:36:39 +00:00 |
Chris Beall
|
4297d24c96
|
changed tabs to spaces for consistent indentation in all of GTSAM
|
2012-10-02 14:40:07 +00:00 |
Richard Roberts
|
fb409a2cc7
|
Implemented partial elimination and sparse variable index remapping (Reduction) to enable Frank's new marginal code
|
2012-10-01 16:12:41 +00:00 |
Alex Cunningham
|
df2a6bfdee
|
Added reporting functions for counting number of cached shortcuts/separatorMarginals in BayesTree
|
2012-09-21 20:57:30 +00:00 |
Alex Cunningham
|
0e60b8cc4d
|
Added access functions for cachedSeparatorMarginals
|
2012-09-21 20:02:26 +00:00 |
Frank Dellaert
|
7fcd06bb4f
|
BayesTree::marginalFactor now calls Clique::marginal2, which in turn calles the new function Clique::separatorMarginal. This calculates marginals with a much simpler recursion, using the parent separator marginal. This could be faster than the shortcut way, especially if separator sizes are small and the root clique is large. The cached marginals have to be discarded when the bayes tree is updated, but this is no different from shortcuts to the root.
|
2012-09-17 14:03:54 +00:00 |
Frank Dellaert
|
1f0cc0aaa4
|
2-variable joint marginals computed with shortcuts are buggy: they only work if the cliques are disjoint or one of them is the root. They now throw an exception if that is the case.
|
2012-09-17 03:31:24 +00:00 |
Alex Cunningham
|
970efd9e29
|
Fixed missing include of boost.range, fixed signed/unsigned comparison warning
|
2012-09-17 01:26:08 +00:00 |
Frank Dellaert
|
75b96d9ed2
|
Removed old indices code
|
2012-09-17 00:50:15 +00:00 |
Frank Dellaert
|
cdf45105c2
|
Fixed shortcuts after adding several more problematic testcases
|
2012-09-17 00:29:03 +00:00 |
Frank Dellaert
|
34a9000134
|
forceOrder flag respects order of constrained variables passed to conditionalBayesNet
|
2012-09-17 00:28:27 +00:00 |
Frank Dellaert
|
bd8f9d0006
|
Went back to eliminate all in conditional because of singularities :-(, added use of forceOrder flag
|
2012-09-17 00:26:07 +00:00 |
Frank Dellaert
|
db8264aaae
|
forceOrder flag respects order of constrained variables passed to ccolamd
|
2012-09-17 00:24:49 +00:00 |