feat(equation-and-linear-solve): step 2 — pardiso-linear-solver

This commit is contained in:
KOKO\Mimi
2026-07-31 16:16:28 +09:00
parent a78f36a172
commit e216660d51
6 changed files with 541 additions and 0 deletions
@@ -0,0 +1,26 @@
#pragma once
#include <span>
#include <vector>
#include <fesa/assembly/symmetric_csr.hpp>
#include <fesa/core/diagnostic.hpp>
namespace fesa {
struct LinearSolveResult final {
std::vector<double> solution;
double relative_residual{};
std::vector<Diagnostic> diagnostics;
};
class LinearSolver {
public:
virtual ~LinearSolver() = default;
[[nodiscard]] virtual LinearSolveResult solve(
const SymmetricCsr& matrix,
std::span<const double> rhs) = 0;
};
} // namespace fesa