Graphite  0.5.0
GPU-accelerated graph optimization framework
Loading...
Searching...
No Matches
preconditioner.hpp
Go to the documentation of this file.
1
2#pragma once
3#include <graphite/factor.hpp>
4#include <graphite/vertex.hpp>
5
6namespace graphite {
7
8template <typename T, typename S> class Preconditioner {
9public:
10 virtual void update_structure(Graph<T, S> *graph, StreamPool &streams) = 0;
11
12 virtual void update_values(Graph<T, S> *graph, StreamPool &streams) = 0;
13
14 virtual void set_damping_factor(Graph<T, S> *graph, T damping_factor,
15 const bool use_identity,
16 StreamPool &streams) = 0;
17
18 virtual void apply(Graph<T, S> *graph, T *z, const T *r,
19 StreamPool &streams) = 0;
20};
21
22} // namespace graphite
Definition preconditioner.hpp:8
Definition stream.hpp:7
The top-level namespace for Graphite.
Definition eigen_solver.cpp:4