On Sat, Oct 26, 2013 at 3:05 PM, Torquil Macdonald Sørensen < [email protected]> wrote:
> Hi! > > I have a linear problem Ax=b, with complex values, that is solved very > well using the ILUTP and GMRES implementations in GMM++. None of the other > preconditioners available in GMM++ would work (e.g. ILU and ILUT) for this > problem. > > Then I tried the same problem using ILU and GMRES in PETSc, with no > success, despite a lot of attempts at adjusting ILU settings. I always end > up with gigantic residual norm values. The same PETSc program works well > when I apply it to a different matrix A. > > I'm now suspecting that the ILU options cannot be set so as to obtain > ILUTP behaviour. > > What would be the recommended method to access an ILUTP preconditioner > from PETSc? > > According to the PETSc website, a preconditioner named ILUDT is available > by using the external package Hypre, but I had to deselect Hypre during the > PETSc build due to my use of complex numbers... So do you guys think that I > should transform everything to a real representation and try Hypre/ILUDT? > I suggest you look for a different preconditioner. The fact that you have so much trouble reproducing the behavior shows you just how fragile the performance of ILU is. It may work for a certain size, but fail for larger or smaller problems, or slightly different parameters. What problem are you solving? Usually the best option is to consult the literature for preconditioners tailored to your problem, and then reproduce them. Matt > Best regards > Torquil Sørensen > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
