preconditioner_S);
auto rhs = condense_schur_rhs (lo_A_inv,lo_C,f,g);
- y = lo_S_inv * rhs; // Solve for y
+ check_solver_within_range(
+ y = lo_S_inv * rhs, // Solve for y
+ solver_control_S.last_step(), 1, 1);
+
x = postprocess_schur_solution (lo_A_inv,lo_B,y,f);
PRINTME("x", x);
preconditioner_S);
auto rhs = condense_schur_rhs (lo_A_inv,lo_C,f,g);
- y = lo_S_inv * rhs; // Solve for y
+ check_solver_within_range(
+ y = lo_S_inv * rhs, // Solve for y
+ solver_control_S.last_step(), 11, 11);
+
x = postprocess_schur_solution (lo_A_inv,lo_B,y,f);
PRINTME("x = s.block(1)", x);
lo_S_inv_approx);
auto rhs = condense_schur_rhs (lo_A_inv,lo_C,f,g);
- y = lo_S_inv * rhs; // Solve for y
+ check_solver_within_range(
+ y = lo_S_inv * rhs,// Solve for y
+ solver_control_S.last_step(), 11, 11);
+
x = postprocess_schur_solution (lo_A_inv,lo_B,y,f);
PRINTME("x = s.block(1)", x);
DEAL::Schur complement
DEAL:SC_SparseMatrix::SparseMatrix 1
+DEAL:SC_SparseMatrix::Solver stopped within 1 - 1 iterations
DEAL:SC_SparseMatrix::Solution vector: x: -4.000000000
DEAL:SC_SparseMatrix::Solution vector: y: 4.500000000
DEAL:SC_SparseMatrix::SparseMatrix OK
DEAL:SC_SparseMatrix:SC_BlockSparseMatrix::BlockSparseMatrix 1
+DEAL:SC_SparseMatrix:SC_BlockSparseMatrix::Solver stopped within 11 - 11 iterations
DEAL:SC_SparseMatrix:SC_BlockSparseMatrix::Solution vector: x = s.block(1): -3.333333333 -6.000000000 -8.666666667 -11.33333333 -14.00000000 -16.66666667 -19.33333333 -22.00000000 -24.66666667 -27.33333333
DEAL:SC_SparseMatrix:SC_BlockSparseMatrix::Solution vector: y = s.block(0): 8.333333333 11.00000000 13.66666667 16.33333333 19.00000000 21.66666667 24.33333333 27.00000000 29.66666667 32.33333333
+DEAL:SC_SparseMatrix:SC_BlockSparseMatrix::Solver stopped within 11 - 11 iterations
DEAL:SC_SparseMatrix:SC_BlockSparseMatrix::Solution vector: x = s.block(1): -3.333333333 -6.000000000 -8.666666667 -11.33333333 -14.00000000 -16.66666667 -19.33333333 -22.00000000 -24.66666667 -27.33333333
DEAL:SC_SparseMatrix:SC_BlockSparseMatrix::Solution vector: y = s.block(0): 8.333333333 11.00000000 13.66666667 16.33333333 19.00000000 21.66666667 24.33333333 27.00000000 29.66666667 32.33333333
DEAL:SC_SparseMatrix:SC_BlockSparseMatrix::BlockSparseMatrix OK