<div class="gmail_quote">On Tue, Sep 13, 2011 at 10:03, Michele De Stefano <span dir="ltr">&lt;<a href="mailto:mstefano@milan.westerngeco.slb.com">mstefano@milan.westerngeco.slb.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 bgcolor="#ffffff" text="#000000">we would like to explore more in detail the possibility to have a
completely matrix-free preconditioner.<br>
May you explain which are the &quot;few methods&quot; that we should implement
and that you was talking of ?<br></div></blockquote><div><br></div><div>Matrix-free multigrid, approximate the problem with a simpler model for which a fast solver (e.g. FMM or FFT-based) is available, the nested iteration that Matt mentioned, low rank + identity approximations of the inverse (e.g. built as a byproduct of an outer iteration like BFGS).</div>
<div><br></div><div>None of these are truly generic. I absolutely do not recommend trying to build matrix-free preconditioners to avoid writing code to assemble a matrix. Indeed, I think it&#39;s well worth having the code to assemble a matrix even if you usually run without it because it enables you to try many algorithms without extra effort. Having the matrix available can inform the design of matrix-free methods.</div>
<div><br></div><div>The performance asymptotics of matrix-free methods are better for some problems. In many cases, it makes sense to apply the Jacobian using some matrix-free method and assemble a less expensive matrix for preconditioning.</div>
</div>