From 33ceae9251110b9c7b0d81185bb28d01345c58e5 Mon Sep 17 00:00:00 2001
From: Denis Davydov <davydden@gmail.com>
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