Thank you so much Matthew. I'll try to wrap the Jacobian inverse as a MatShell and pass it to SLEPc.
On Mon, Nov 6, 2017 at 2:42 PM, Matthew Knepley <[email protected]> wrote: > On Mon, Nov 6, 2017 at 2:11 PM, Bikash Kanungo <[email protected]> wrote: > >> Hi, >> >> I would like to access the approximate Jacobian in quasi-Newton solvers >> (e.g., BFGS) to analyze its condition number. I guess for BFGS, where the >> approximate Jacobian is built from outer products of several vectors coming >> from current and previous gradient vectors, the approximate Jacobian might >> not be stored explicitly as a matrix and instead the Jacobian times a >> vector is performed in a matrix-free manner. My reason for believing so is >> the fact that when I try to retrieve the Jacobian matrix using >> SNESGetJacobian and feed it to SLEPc, I incur segmentation fault at >> EPSSetOperators. >> >> If that's the case, is there a way to still get access to the approximate >> Jacobian and feed it to SLEPc for eigen analysis, like with the use of >> MatShell operations? >> > > There is no code in SNESQN to apply the Jacobian, just its inverse. You > could wrap up that code in a MatShell and hand it to SLEPc. I am not > sure what you are looking for, but its doable. I would think there are > analytic expressions or at least bounds for the condition number. > > Thanks, > > Matt > > >> Thanks, >> Bikash >> >> -- >> Bikash S. Kanungo >> PhD Student >> Computational Materials Physics Group >> Mechanical Engineering >> University of Michigan >> >> > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/> > -- Bikash S. Kanungo PhD Student Computational Materials Physics Group Mechanical Engineering University of Michigan
