<div class="gmail_quote">On Fri, Aug 12, 2011 at 10:09, Paul Anton Letnes <span dir="ltr"><<a href="mailto:paul.anton.letnes@gmail.com">paul.anton.letnes@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 id=":1yt">The problem is a discretized integral equation. It does not quite fall into the boundary element category, but it'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 "compact + identity" 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 "compact" 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'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>