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
std::optional< MetisResult > separatorPartitionByMetis(const GenericGraph &graph, const std::vector< size_t > &keys, WorkSpace &workspace, bool verbose)
std::vector< size_t > B
Definition: FindSeparator.h:24
NonlinearFactorGraph graph
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)
std::vector< size_t > A
Definition: FindSeparator.h:24
traits
Definition: chartTesting.h:28
const KeyVector keys
std::vector< size_t > C
Definition: FindSeparator.h:25


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:34:13