OGS
EigenLisLinearSolver.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <lis.h>
14
15#include <vector>
16
19
20namespace MathLib
21{
22class EigenVector;
23class EigenMatrix;
24class LisMatrix;
25class LisVector;
26
31{
32public:
40 EigenLisLinearSolver(std::string const& solver_name,
41 std::string const& lis_options);
47 void setOption(std::string const& lis_options)
48 {
49 lis_options_ = lis_options;
50 }
51
53
55 bool canSolveRectangular() const { return false; }
56
57private:
58 bool solve(LisMatrix& A, LisVector& b, LisVector& x);
59 std::string lis_options_;
60};
61
62} // namespace MathLib
EigenLisLinearSolver(std::string const &solver_name, std::string const &lis_options)
bool solve(EigenMatrix &A, EigenVector &b, EigenVector &x)
void setOption(std::string const &lis_options)
bool canSolveRectangular() const
Get, if the solver can handle rectangular equation systems.
Global vector based on Eigen vector.
Definition EigenVector.h:25
LisMatrix is a wrapper class for matrix types of the linear iterative solvers library.
Definition LisMatrix.h:43
Lis vector wrapper class.
Definition LisVector.h:29