[Trilinos-Users] [EXTERNAL] ilut: zero pivot encountered!

Bradley, Andrew Michael ambradl at sandia.gov
Fri Jan 15 21:36:53 EST 2016

Hi Danielle,

>From the error message, I infer you are using AztecOO. In case this becomes relevant, it's good to know that there are ILU implementations in Ifpack (for Epetra) and Ifpack2 (for Tpetra).

To answer your question, a zero pivot can happen in many situations. As you wrote, it will happen when a matrix is singular. In addition, in an incomplete factorization, especially one that does not pivot (i.e., reorder as factorization proceeds), it can occur even when a matrix is nonsingular.

If I am not mistaken, Aztec uses the row norm in place of the diagonal if a zero pivot is encountered. This lets it carry on, but the quality of the preconditioner may be poor, either as a result of this or, more likely, as indicated by the zero pivot in the first place. Hence it prints a warning when this situation occurs. So, to be clear, this is not an error nor necessarily indicative of a problem.

The key question is this: Is the iterative method that is using the preconditioner solving the linear equation? That is, does the iteration terminate with a relative error that meets the specified tolerance?

If so, then there may be no problem.

If not, then you need to try to improve the preconditioner quality. There are multiple ways. For now, I'll start with the options available in AztecOO.

One thing to try is to apply RCM ordering prior to ILU. This ordering should encourage good quality of the ILU preconditioner. However, based on my inference that you're using AztecOO, I suspect RCM ordering is already being applied by default. You should verify that it is being used.

The next thing to try is to increase the fill and make the drop tolerance smaller. If memory consumption and ILU compute time are not problems at present, then you may be able to improve the quality a lot using these parameters.

AztecOO has multiple ILU implementations (because ILU is not one single algorithm but a family of algorithms), so you can try other ones as well.

Later, if nothing works, I will recommend that you write out a matrix from a small instance of your problem and do some analysis in, say, Matlab.



From: Trilinos-Users <trilinos-users-bounces at trilinos.org> on behalf of Danielle Catherine Maddix <dcmaddix at stanford.edu>
Sent: Friday, January 15, 2016 6:30 PM
To: trilinos-users at trilinos.org
Subject: [EXTERNAL] [Trilinos-Users] ilut: zero pivot encountered!


I am working on solving a linear system associated with my finite element code.  When I try to solve it, using an ILU preconditioner, I get the following error:

ilut: zero pivot encountered!

I have checked that the diagonal entries are nonzero. Can this error come up in other situations, such as if the matrix is singular?

Thank you,

Danielle Maddix
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://trilinos.org/pipermail/trilinos-users/attachments/20160116/e772b0e6/attachment.html>

More information about the Trilinos-Users mailing list