<div dir="ltr">Hello,<div><br></div><div>I am not quite sure how to use the L-BFGS implementation in PETSc with a preconditioner that approximates the Jacobian. As far as I understand it, L-BFGS is like Newton's Method but doesn't require the user to input the Jacobian matrix. However, for my application, I do have a good preconditioner that approximates the Jacobian matrix. My question is where to input such a preconditioner. I have 3 possible guesses about the correct way to do it.</div><div><br></div><div>1. Use SNESSetJacobian to provide a function which computes the preconditioner. I'm unsure if this information is even used though, since L-BFGS builds its own approximation to the inverse Jacobian as it goes.</div><div><br></div><div>2. Use SNESQNSetScaleType with SNES_QN_SCALE_JACOBIAN to set my preconditioner as an initial approximation to the Jacobian somehow?</div><div><br></div><div>3. Use an SNESSetNPC with my preconditioner as a linear preconditioner?</div><div><br></div><div>Anyone that could point me in the right direction would be greatly appreciated.</div><div><br></div><div>Best regards,</div><div>Michael White</div><div><br></div><div><br></div></div>