OGS
EigenLisLinearSolver.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <vector>
7
11
12namespace MathLib
13{
14class EigenVector;
15class EigenMatrix;
16class LisMatrix;
17class LisVector;
18
23{
24public:
32 EigenLisLinearSolver(std::string const& solver_name,
33 std::string const& lis_options);
39 void setOption(std::string const& lis_options)
40 {
41 lis_options_ = lis_options;
42 }
43
45
47 bool canSolveRectangular() const { return false; }
48
49private:
50 bool solve(LisMatrix& A, LisVector& b, LisVector& x);
51 std::string lis_options_;
52};
53
54} // 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:19
LisMatrix is a wrapper class for matrix types of the linear iterative solvers library.
Definition LisMatrix.h:31
Lis vector wrapper class.
Definition LisVector.h:20