Graphite  0.5.0
GPU-accelerated graph optimization framework
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 const bool use_identity,
18 StreamPool &streams) = 0;
19
20 virtual void update_structure(Graph<T, S> *graph, StreamPool &streams) = 0;
21
22 virtual void update_values(Graph<T, S> *graph, StreamPool &streams) = 0;
23
24 virtual bool solve(Graph<T, S> *graph, T *delta_x, StreamPool &streams) = 0;
25};
26
27} // namespace graphite
Linear solver interface. Implement this for your own linear solvers.
Definition solver.hpp:12
Definition stream.hpp:7
The top-level namespace for Graphite.
Definition eigen_solver.cpp:4