feat(nonlinear-static-newton-raphson): step 6 - backend-neutral-tangent-solver

This commit is contained in:
KOKO\Mimi
2026-08-24 14:25:05 +09:00
parent 162f84e71b
commit 6c995e0ec8
7 changed files with 500 additions and 0 deletions
@@ -123,6 +123,15 @@ TEST(MklPardisoSolver, ReusesOneFactorizationForRepeatedRhs) {
EXPECT_LE(NormalizedResidual(matrix, second, rhs_second), 1.0e-10);
}
TEST(MklPardisoSolver, StillRejectsNonsymmetricPublicCsr) {
const auto nonsymmetric = MakeDenseCsr(2U, {2.0, 1.0, 0.0, 3.0});
fesa::MklPardisoSolver solver;
const auto status = solver.Factorize(nonsymmetric);
ExpectStructuredSolverFailure(status);
EXPECT_EQ(status.Diagnostics()[0U].code, "solver-matrix-not-symmetric");
}
TEST(MklPardisoSolver, RefactorizesWithoutLeakingState) {
const auto first_matrix = MakeDenseCsr(2U, {4.0, 1.0, 1.0, 3.0});
const auto second_matrix = MakeDenseCsr(2U, {2.0, 0.0, 0.0, 5.0});