Hello PETSc-users,

I'm using the SNES component with the NGMRES method in my application. I'm 
using a matrix-free context for the Jacobian and the MatMFFDComputeJacobian() 
function in my FormJacobian routine. My understanding is that this effectively 
approximates the Jacobian using the equation at the bottom of Page 103 in the 
PETSc User's Manual. This works, but the expense of computing two function 
evaluations in each SNES iteration nearly wipes out the performance 
improvements over Picard iteration. 

Based on my (limited) understanding of the Oosterlee/Washio SIAM paper ("Krylov 
Subspace Acceleration of Nonlinear Multigrid..."), they seem to suggest that 
it's possible to approximate the Jacobian with a series of previously-computed 
residuals (eq 2.14), rather than additional function evaluations in each 
iteration. Is this correct? If so, could someone point me to a reference that 
demonstrates how to do this with PETSc?

Or, perhaps a better question to ask is: are there other ways of reducing the 
computing burden associated with estimating the Jacobian?

Thanks,
Greg

Reply via email to