From 33ceae9251110b9c7b0d81185bb28d01345c58e5 Mon Sep 17 00:00:00 2001 From: Denis Davydov Date: Fri, 7 Nov 2014 16:47:29 +0100 Subject: [PATCH] use EPSComputeRelativeError in SLEPc SolverBase. --- source/lac/slepc_solver.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/lac/slepc_solver.cc b/source/lac/slepc_solver.cc index 083db79f04..5bfcd6cac1 100644 --- a/source/lac/slepc_solver.cc +++ b/source/lac/slepc_solver.cc @@ -211,7 +211,11 @@ namespace SLEPcWrappers // only if at least one eigenvector has converged. if ((*n_converged)>0) { - ierr = EPSComputeResidualNorm (solver_data->eps, 0, &residual_norm); + // EPSComputeRelativeError is consistent with the one + // used during the solution process. Given EPS_CONV_ABS set above, + // this can be either the l2 norm or the mass-matrix induced norm + // when EPS_GHEP is set. + ierr = EPSComputeRelativeError (solver_data->eps, 0, &residual_norm); AssertThrow (ierr == 0, ExcSLEPcError(ierr)); } -- 2.39.5