On 12. aug. 2011, at 16.42, Jed Brown wrote: > On Fri, Aug 12, 2011 at 10:09, Paul Anton Letnes <paul.anton.letnes at > gmail.com> wrote: > 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. > > 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.) I'm not 100% sure what you mean by "second kind integral operator", but it is a Fredholm equation of the first kind, as far as I understand (my background is physics rather than mathematics). > > 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. That's what I was thinking - so assuming I need to use only a few iterations of BiCGSTAB, it may pay off to skip storing the whole (huge!) matrix.
I'll look at the MatShell thing, maybe it's what I need. > http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-dev/docs/manualpages/Mat/MatCreateShell.html#MatCreateShell > > 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. It looks like this is in the distant future. As I mentioned, similar (I think, more difficult) problems have been solved, in (if I recall correctly) about 5 iterations. Cheers, and thanks for the help... Paul
