Files
FESADev/include/fesa/solvers/linear/linear_solver.hpp
T

19 lines
405 B
C++

#pragma once
#include "fesa/core/status.hpp"
namespace fesa {
class SparseMatrix;
class Vector;
// Separates reusable matrix factorization from right-hand-side substitution.
class LinearSolver {
public:
virtual ~LinearSolver() = default;
virtual Status factorize(const SparseMatrix& matrix) = 0;
virtual Status solve(const Vector& rhs, Vector& solution) const = 0;
};
} // namespace fesa