In article <firstname.lastname@example.org> you write: >Dear netters, > >I run into a problem in the context of the iterative solution of a linear >system. It appears during the construction of the incomplete LU-factorization >of the matrix, is caused by the structure of the matrix and leads to failure >due to division by zero. It is sure that the matrix is regular as Gauss' >algorithm works without any problems. However, Gauss' algorithm applies row >interchangings which I could not apply successfully in the context of the >ILU decomposition.
ILUs (there are different ones ) don't have to exist, even if the Matrix itself is regular.
See e.g. Hackbusch, "Iterative Loesung grosser schwachbesetzter Gleichungssysteme" (also available in english, title something like Iterative solution of large sparse systems") oder Axelsson, "Iterative Solution Methods".
>The linear systems are relativly small, so row interchangings do not cause >Too much trouble. On the other hand, the system has to be solved repeatedly, >what makes an iterative solution interesting.
Why? Especially when solving the same system with different right hand sides, using LU-decomposition (i.e. Gauss) is quite efficient. If the matrix is sparse, you might want to use the appropriate sparse decompositions. A reason for iterative methods could be the lack of space but you mention that the systems are relatively small.
>Now the question: What could I do to get an effective preconditioning? >Are there other preconditioners, which do not require any row >interchanging?
Usually preconditioners are problem-dependent, i.e. a preconditioner which works quite well for a system derived from some PDE will have problems if the system comes from some LP-problem.
Some (more or less) problem independent preconditioners are SSOR, (block)-Jakobi and different variants of ILU.
If all you want to do is solve the problem, you can find all of these (and more) on the net (e.g. netlib). No need to reinvent the wheel.
By the way, your mail-address (hiegeman@Chemietechnik.Uni-Dortmund.DE) bounces.