diff --git a/Eigen/src/EigenSolver/ComplexSchur.h b/Eigen/src/EigenSolver/ComplexSchur.h index 915f351fc..1a07fe163 100644 --- a/Eigen/src/EigenSolver/ComplexSchur.h +++ b/Eigen/src/EigenSolver/ComplexSchur.h @@ -88,7 +88,7 @@ std::complex ei_sqrt(const std::complex &z) t = ei_abs(z); - if (ei_abs(ei_real(z)) <= ei_abs(ei_real(z))) + if (ei_abs(ei_real(z)) <= ei_abs(ei_imag(z))) { // No cancellation in these formulas tre = ei_sqrt(0.5*(t + ei_real(z)));