EliminationStage.h
Go to the documentation of this file.
1 /*
2  * EliminationStage.h
3  *
4  * Created on: 09.01.2015
5  * Author: Michael
6  */
7
8 #ifndef ELIMINATIONSTAGE_H_
9 #define ELIMINATIONSTAGE_H_
10
11 #include "../../../algebraic/Vector.h"
12
13 namespace NetworKit {
14
18 template<class Matrix>
20 private:
21  Matrix P; // interpolation matrix
22  Matrix R;
23  Vector q; // coarse result correction vector
24  std::vector<index> fSet;
25  std::vector<index> cSet;
26
27 public:
28  EliminationStage(const Matrix& P, const Vector& q, const std::vector<index>& fSet, const std::vector<index>& cSet) : P(P), R(P.transpose()), q(q), fSet(fSet), cSet(cSet) {}
29
30  inline const Matrix& getP() const {
31  return P;
32  }
33
34  inline const Matrix& getR() const {
35  return R;
36  }
37
38  inline const Vector& getQ() const {
39  return q;
40  }
41
42  inline const std::vector<index>& getFSet() const {
43  return fSet;
44  }
45
46  inline const std::vector<index>& getCSet() const {
47  return cSet;
48  }
49
50  inline count getN() const {
51  return fSet.size() + cSet.size();
52  }
53 };
54
55 } /* namespace NetworKit */
56
57 #endif /* ELIMINATIONSTAGE_H_ */
EliminationStage(const Matrix &P, const Vector &q, const std::vector< index > &fSet, const std::vector< index > &cSet)
Definition: EliminationStage.h:28
const std::vector< index > & getCSet() const
Definition: EliminationStage.h:46
uint64_t count
Definition: Globals.h:21
std::vector< std::vector< count > > Matrix
Definition: DynamicNMIDistance.h:16
const std::vector< index > & getFSet() const
Definition: EliminationStage.h:42
The Vector class represents a basic vector with double coefficients.
Definition: Vector.h:25
const Matrix & getR() const
Definition: EliminationStage.h:34
const Vector & getQ() const
Definition: EliminationStage.h:38
const Matrix & getP() const
Definition: EliminationStage.h:30
count getN() const
Definition: EliminationStage.h:50
Definition: EliminationStage.h:19