Graphite
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 StreamPool &streams) = 0;
16
17 virtual void apply(Graph<T, S> *graph, T *z, const T *r,
18 StreamPool &streams) = 0;
19};
20
21} // namespace graphite
Definition preconditioner.hpp:8
Definition stream.hpp:7