From fcb5106c6e16599eeabadf7d82a465d52229698f Mon Sep 17 00:00:00 2001 From: Antonio Sanchez Date: Wed, 7 Apr 2021 15:08:39 -0700 Subject: Scaled epsilon the wrong way. Should have been 0.5 to widen the bounds, since this is inverse precision. Setting to 0.5, however, leads to many more failing tests at Google, so reverting to 1 for now. --- Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Eigen') diff --git a/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h b/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h index a6f006c5f..59e59644e 100644 --- a/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +++ b/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h @@ -508,7 +508,7 @@ ComputationInfo computeFromTridiagonal_impl(DiagType& diag, SubDiagType& subdiag typedef typename DiagType::RealScalar RealScalar; const RealScalar considerAsZero = (std::numeric_limits::min)(); - const RealScalar precision_inv = RealScalar(2)/NumTraits::epsilon(); + const RealScalar precision_inv = RealScalar(1)/NumTraits::epsilon(); while (end>0) { for (Index i = start; i