Graphite
Loading...
Searching...
No Matches
solver.hpp
Go to the documentation of this file.
1
2#pragma once
3#include <graphite/common.hpp>
4#include <graphite/graph.hpp>
5#include <graphite/utils.hpp>
6
7namespace graphite {
8
12template <typename T, typename S> class Solver {
13public:
14 virtual ~Solver() = default;
15
16 virtual void set_damping_factor(Graph<T, S> *graph, T damping_factor,
17 StreamPool &streams) = 0;
18
19 virtual void update_structure(Graph<T, S> *graph, StreamPool &streams) = 0;
20
21 virtual void update_values(Graph<T, S> *graph, StreamPool &streams) = 0;
22
23 virtual bool solve(Graph<T, S> *graph, T *delta_x, StreamPool &streams) = 0;
24};
25
26} // namespace graphite
Linear solver interface. Implement this for your own linear solvers.
Definition solver.hpp:12
Definition stream.hpp:7