<div dir="ltr">I'm working with a relatively new set of physics (new to me) and the Jacobians are bad. While debugging the Jacobians, I've been running with different finite difference approximations. I've found in general that matrix-free approximation of the Jacobian action leads to much better convergence than explicitly forming the Jacobian matrix using finite differences. Should I be surprised by this or is this something that's known? It would be great if anyone has a reference they could point me to.<div><br></div><div>Just to illustrate the different solves:</div><div><br></div><div>Matrix-free (preconditioner formed from finite-differenced approximation of Jacobian):</div><div><br></div><div><div> 0 Nonlinear |R| = 2.259203e-02</div><div>      0 Linear |R| = 2.259203e-02</div><div>      1 Linear |R| = 2.259203e-02</div><div>      2 Linear |R| = 1.682777e-02</div><div>      3 Linear |R| = 9.274378e-09</div><div> 1 Nonlinear |R| = 1.744830e-02</div><div>      0 Linear |R| = 1.744830e-02</div><div>      1 Linear |R| = 2.335817e-08</div><div> 2 Nonlinear |R| = 2.704512e-08</div><div>      0 Linear |R| = 2.704512e-08</div><div>      1 Linear |R| = 1.265577e-14</div><div> 3 Nonlinear |R| = 1.478929e-10</div><div> Solve Converged!</div></div><div><br></div><div>Explicit formation of Jacobian using finite-differences (preconditioner formed from same matrix):</div><div><br></div><div><div> 0 Nonlinear |R| = 2.259203e-02</div><div>      0 Linear |R| = 2.259203e-02</div><div>      1 Linear |R| = 2.259203e-02</div><div>      2 Linear |R| = 1.481452e-12</div><div> 1 Nonlinear |R| = 2.258733e-02</div><div>      0 Linear |R| = 2.258733e-02</div><div>      1 Linear |R| = 2.258520e-02</div><div>      2 Linear |R| = 1.594456e-07</div><div> 2 Nonlinear |R| = 2.258733e-02</div><div>      0 Linear |R| = 2.258733e-02</div><div>      1 Linear |R| = 2.258520e-02</div><div>      2 Linear |R| = 1.869913e-07</div><div>Nonlinear solve did not converge due to DIVERGED_LINE_SEARCH iterations 2</div></div><div><br></div><div><br></div><div><br></div></div>