[petsc-users] Question regarding preconditioning in L-BFGS

Michael White mrwhite at umn.edu
Wed Jul 1 01:19:10 CDT 2015


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.

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.

2. Use SNESQNSetScaleType with SNES_QN_SCALE_JACOBIAN to set my
preconditioner as an initial approximation to the Jacobian somehow?

3. Use an SNESSetNPC with my preconditioner as a linear preconditioner?

Anyone that could point me in the right direction would be greatly

Best regards,
Michael White
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150701/76a1cea4/attachment.html>

More information about the petsc-users mailing list