@@ -598,18 +598,18 @@ namespace polysolve::nonlinear
598598 objFunc.solution_changed (x1);
599599 double J1 = objFunc (x1);
600600
601- double fd = (J2 - J1) / 2 / gradient_fd_eps;
601+ double fd_centered = (J2 - J1) / 2 / gradient_fd_eps;
602602 double fd_right = (J2 - J) / gradient_fd_eps;
603603 double fd_left = (J - J1) / gradient_fd_eps;
604604 double analytic = direc.dot (grad);
605605
606- match = abs (fd - analytic) < 1e-8 || abs (fd - analytic) < 1e-4 * abs (analytic);
606+ match = abs (fd_centered - analytic) < 1e-8 || abs (fd_centered - analytic) < 1e-4 * abs (analytic);
607607
608608 // Log error in either case to make it more visible in the logs.
609609 if (match)
610- m_logger.debug (" step size: {}, finite difference: {} {} {}, derivative: {}" , gradient_fd_eps, fd , fd_left, fd_right, analytic);
610+ m_logger.debug (" step size: {}, finite difference: {} {} {}, derivative: {}" , gradient_fd_eps, fd_centered , fd_left, fd_right, analytic);
611611 else
612- m_logger.error (" step size: {}, finite difference: {} {} {}, derivative: {}" , gradient_fd_eps, fd , fd_left, fd_right, analytic);
612+ m_logger.error (" step size: {}, finite difference: {} {} {}, derivative: {}" , gradient_fd_eps, fd_centered , fd_left, fd_right, analytic);
613613 }
614614 break ;
615615 case FiniteDiffStrategy::FULL_FINITE_DIFF:
0 commit comments