I may be wrong, but I think a lot of AIJ methods need the diagonal. Do we think it is feasible to relax this? I would be more for filling the diagonal with zeros automatically.
Matt ---------- Forwarded message ---------- From: Todd Munson <[email protected]> Date: Oct 30, 2007 9:18 AM Subject: matrices without diagonals... To: Barry Smith <bsmith at mcs.anl.gov> Cc: Matthew Knepley <knepley at mcs.anl.gov> Barry, We discussed this yesterday and I want to come to a conclusion before I go and change any code. The problem is that some of the matrix I have do not have diagonal entries...in fact both the rows and columns do not have any nonzeros. Rather than PETSc terminating gracefully and telling me the problem, I get a segmentation violation and a core dump. There are two questions: 1) Which functions require a diagonal? 2) Should these functions check for the diagonal and abort with a useful error message? My feeling is that the diagonal is required only in a few cases and it may not even be necessary, but I've been known to be wrong before. Most of the code should work without requiring diagonal entries, which is why it should only check for them when necessary. Todd. -- 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
