<div class="gmail_quote">On Fri, Aug 12, 2011 at 10:09, Paul Anton Letnes <span dir="ltr">&lt;<a href="mailto:paul.anton.letnes@gmail.com">paul.anton.letnes@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=":1yt">The problem is a discretized integral equation. It does not quite fall into the boundary element category, but it&#39;s not too far off, in a sense. I did not do any sophisticated analysis of the singular values, but I do know that the condition number (largest over smallest singular value) is not too bad.<br>
</div></blockquote><div><br></div><div>Thanks for the problem description. Is this a second kind integral operator? Such systems have &quot;compact + identity&quot; structure, which means that they can be approximated by low-rank perturbations of the identity. It also means that Krylov methods converge quickly once they pick up the few eigenvalues that are not tightly clustered near 1. (The &quot;compact&quot; part implies that the number of such outliers should be independent of the spatial resolution in your discretization.)</div>
<div><br></div><div>If you have a fast way to apply the operator (and note that floating point units are currently 20x to 50x faster than memory bandwidth for matrix-vector products), even unpreconditioned Krylov methods may be able to solve your problem well. You can put your algorithm for applying the matrix inside a MatShell so that all the Krylov methods will work with it.</div>
<div><br></div><div><a href="http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-dev/docs/manualpages/Mat/MatCreateShell.html#MatCreateShell">http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-dev/docs/manualpages/Mat/MatCreateShell.html#MatCreateShell</a></div>
<div><br></div><div>If you have a hierarchical discretization, or possibly better, a hierarchical way to apply your operator, then you may be able to use the hierarchy to put together a multigrid method. Don&#39;t worry about this part until you have gotten your solver working with a Krylov method, and only then if (a) the number of iterations is sitll large and (b) you want to direct a fair amount of research effort to this topic. If you meet both criteria, write back and we can discuss further.</div>
<div><br></div></div>