<div class="gmail_quote">On Fri, Dec 3, 2010 at 19:29, Vijay S. Mahadevan <span dir="ltr">&lt;<a href="mailto:vijay.m@gmail.com">vijay.m@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":4ds">Jed and Dave, thanks for the explanation. Now I do understand that the<br>
MG PC is generic if I have restriction/prolongation operators for<br>
every level. But I do not have the fine grid operator on hand<br>
explicitly (only a shell matrix with MatMult) and technically all my<br>
coarser grid operators will also be matrix-free. I was originally<br>
planning to hand these shell matrices to petsc as the coarse<br>
operators but can petsc do this by itself with only access to the fine<br>
grid operator ?<br></div></blockquote><div><br></div><div>PETSc cannot magically create intermediate-level shell operators.  If you want to do everything matrix-free, then you have to provide everything that needs to be &quot;smart&quot;: restriction/interpolation, smoothers, and residuals.</div>
<div><br></div><div>Jed</div></div>