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

Reply via email to