[petsc-users] A quick question on 'un-symmetric graph'
Mark F. Adams
mark.adams at columbia.edu
Sat Jan 5 22:19:29 CST 2013
>
> This is a symmetric graph, but not a symmetric matrix, though the asymmetry is only due to boundary conditions (boundary rows have only a diagonal nonzero; the other zeros are still stored explicitly). Do you have a preference about how this is handled? (I don't think we should need extra options to handle this extremely common case.)
>
If the graph is symmetric then the only problem is that after thresholding the graph can be unsymmetric if the values are not symmetric.
So the solution is to:
[0]PETSC ERROR: Have un-symmetric graph (apparently). Use
'-pc_gamg_sym_graph true' to symetrize the graph or '-pc_gamg_threshold
0.0' if the matrix is structurally symmetric.!
There is no simple way to make fix this, that I can think of. If I threshold I need to have the transpose data to threshold symmetrically and if the graph is not symmetric then the MIS algorithm would need to be reworked. The best way that I can think of to rework MIS is to symmetrize the graph, which puts us back to where we started.
As the user noticed, this is not a problem is serial and it can often work in small scale parallel, but it gets you eventually.
symetrizing the graph is not that expensive (compared to the rest of setup) -- we could make '-pc_gamg_sym_graph true' the default … I'm thinking this is a good idea. Better to be robust and deal with optimizing for users that can not amortize setup.
More information about the petsc-users
mailing list