<div dir="ltr">Thank you so much Matthew. I'll try to wrap the Jacobian inverse as a MatShell and pass it to SLEPc. </div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 6, 2017 at 2:42 PM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span class=""><div>On Mon, Nov 6, 2017 at 2:11 PM, Bikash Kanungo <span dir="ltr"><<a href="mailto:bikash@umich.edu" target="_blank">bikash@umich.edu</a>></span> wrote:<br></div></span><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi,<br><br></div>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. <br><br></div>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? <br></div></div></div></blockquote><div><br></div></span><div>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</div><div>sure what you are looking for, but its doable. I would think there are analytic expressions or at least bounds for the condition number.</div><div><br></div><div> Thanks,</div><div><br></div><div> Matt</div><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div></div>Thanks,<br></div>Bikash <br clear="all"><span class="m_4919258119469067338HOEnZb"><font color="#888888"><div><div><div><div><div><br>-- <br><div class="m_4919258119469067338m_-7794666241269534680gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div><div><div><font color="#666666">Bikash S. Kanungo<br></font></div><font color="#666666">PhD Student<br></font></div><font color="#666666">Computational Materials Physics Group<br></font></div><font color="#666666">Mechanical Engineering <br></font></div><font color="#666666">University of Michigan<br><br></font></div></div>
</div></div></div></div></div></font></span></div>
</blockquote></span></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div class="m_4919258119469067338gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.caam.rice.edu/~mk51/" target="_blank">https://www.cse.buffalo.edu/~<wbr>knepley/</a><br></div></div></div></div></div>
</font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div><div><div><font color="#666666">Bikash S. Kanungo<br></font></div><font color="#666666">PhD Student<br></font></div><font color="#666666">Computational Materials Physics Group<br></font></div><font color="#666666">Mechanical Engineering <br></font></div><font color="#666666">University of Michigan<br><br></font></div></div>
</div>