FindSeparator.h
Go to the documentation of this file.
1 /*
2  * FindSeparator.h
3  *
4  * Created on: Nov 23, 2010
5  * Author: nikai
6  * Description: find the separator of bisectioning for a given graph
7  */
8 
9 #pragma once
10 
11 #include <map>
12 #include <vector>
13 #include <gtsam/inference/Key.h>
14 #include <gtsam/inference/Symbol.h>
15 
16 #include "PartitionWorkSpace.h"
17 
18 namespace gtsam { namespace partition {
19 
20 // typedef std::map<size_t, size_t> PartitionTable; // from the key to the partition: 0 - separator, > 1: submap id
21 
23  struct MetisResult {
24  std::vector<size_t> A, B; // frontals
25  std::vector<size_t> C; // separator
26  };
27 
32  template<class GenericGraph>
33  std::optional<MetisResult> separatorPartitionByMetis(const GenericGraph& graph, const std::vector<size_t>& keys,
34  WorkSpace& workspace, bool verbose);
35 
40  template<class GenericGraph>
41  int findSeparator(const GenericGraph& graph, const std::vector<size_t>& keys,
42  const int minNodesPerMap, WorkSpace& workspace, bool verbose, const std::optional<std::vector<Symbol> >& int2symbol,
43  const bool reduceGraph, const int minNrConstraintsPerCamera, const int minNrConstraintsPerLandmark);
44 
45 }} //namespace
gtsam::partition::WorkSpace
Definition: PartitionWorkSpace.h:19
keys
const KeyVector keys
Definition: testRegularImplicitSchurFactor.cpp:40
PartitionWorkSpace.h
Key.h
gtsam::partition::separatorPartitionByMetis
std::optional< MetisResult > separatorPartitionByMetis(const GenericGraph &graph, const std::vector< size_t > &keys, WorkSpace &workspace, bool verbose)
Definition: FindSeparator-inl.h:241
gtsam::partition::MetisResult::C
std::vector< size_t > C
Definition: FindSeparator.h:25
Symbol.h
gtsam::partition::MetisResult::B
std::vector< size_t > B
Definition: FindSeparator.h:24
gtsam
traits
Definition: SFMdata.h:40
graph
NonlinearFactorGraph graph
Definition: doc/Code/OdometryExample.cpp:2
gtsam::partition::MetisResult
Definition: FindSeparator.h:23
gtsam::partition::MetisResult::A
std::vector< size_t > A
Definition: FindSeparator.h:24
gtsam::partition::findSeparator
int findSeparator(const GenericGraph &graph, const std::vector< size_t > &keys, const int minNodesPerMap, WorkSpace &workspace, bool verbose, const std::optional< std::vector< Symbol > > &int2symbol, const bool reduceGraph, const int minNrConstraintsPerCamera, const int minNrConstraintsPerLandmark)
Definition: FindSeparator-inl.h:489


gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:11:32