[Trilinos-Users] Using the EpetraExt_CrsGraph_MapColoring class

Russell Hooper rhoope at sandia.gov
Mon Apr 13 16:11:17 MDT 2009


It appears you have found a bug with JONES_PLASSMAN.  I've created a new
bugzilla bug report that you can monitor and add to,

The GREEDY algorithm does appear to work, but your driver program wasn't
creating a lower-triangular matrix in parallel, eg:

In serial, the matrix graph was:

       Row Index     Col Index         Col Index         Col Index
Col Index
             0               0
             1               0               1
             2               0               1               2
             3               0               1               2

and in parallel (2 procs) it was:

       Row Index     Col Index         Col Index
             0               0
             1               0               1

       Row Index     Col Index         Col Index
             2               0
             3               0               1

The GREEDY coloring algorithm correctly obtained two colors for the
parallel case.

I've modified and attached your driver to give the same 4x4 lower-
triangular matrix in serial and parallel for nprocs <= 4.  The GREEDY
algorithm obtains four colors in this case for all runs (nprocs = 1,2,3
and 4).

I'll let you know as I find out the issue(s) with JONES_PLASSMAN.  In
the meantime, GREEDY should get you going.  You can see how the coloring
information is used by NOX by going to 
and you can see an example of the FiniteDifferneceColoring operator used
to solve a nonlinear problem here


On Mon, 2009-04-13 at 09:24 -0600, Bernsen, E. wrote:
> Hello,
> I'm trying to use the EpetraExt_CrsGraph_MapColoring class to color
> the independent columns of a graph and then use the
> FiniteDifferenceColoring class to construct a Jacobian matrix.
> Sometimes the coloring algorithms give unexpected results. For
> instance consider the attached program (test.C) which creates a 2x2
> triangular matrix and then colors the corresponding graph. I think the
> coloring of this matrix should result in two colors. However according
> to the output of the program (out.txt) only one color is required. The
> program was run on a single processor in this case.
> When using the GREEDY algorithm instead of JONES_PLASSMEN the coloring
> seems to work allright as long as the program is run on a single
> processor. If more than one processor is used results seem to be also
> incorrect.
> Is there a bug in the EpetraExt_CrsGraph_MapColoring class or is the
> use of this class in test.C incorrect?
> Regards,
> Erik Bernsen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: new_test.C
Type: text/x-c++src
Size: 2765 bytes
Desc: not available
Url : http://software.sandia.gov/pipermail/trilinos-users/attachments/20090413/9090e29c/attachment.bin 

More information about the Trilinos-Users mailing list