<div dir="ltr"><div><div><div>Thanks, Hong,<br><br></div>I did some tests with a matrix (40x40):<br><br><i>row 0: (0, 1.)  (2, 1.)  (3, 1.)  (11, 1.)  (14, 1.)  (15, 1.)  (19, 1.)  (22, 1.)  (23, 1.)  (24, 1.)  (27, 1.)  (28, 1.) <br>row 1: (1, 1.)  (2, 1.)  (3, 1.)  (6, 1.)  (16, 1.)  (17, 1.)  (18, 1.)  (21, 1.)  (33, 1.) <br>row 2: (0, 1.)  (1, 1.)  (2, 1.)  (3, 1.)  (6, 1.)  (7, 1.)  (9, 1.)  (10, 1.)  (16, 1.)  (19, 1.)  (20, 1.) <br>row 3: (0, 1.)  (1, 1.)  (2, 1.)  (3, 1.)  (5, 1.)  (11, 1.)  (18, 1.)  (19, 1.)  (21, 1.)  (22, 1.)  (31, 1.)  (33, 1.) <br>row 4: (4, 1.)  (14, 1.)  (15, 1.)  (19, 1.)  (24, 1.)  (25, 1.)  (28, 1.)  (30, 1.)  (37, 1.)  (38, 1.) <br>row 5: (3, 1.)  (5, 1.)  (11, 1.)  (17, 1.)  (22, 1.)  (26, 1.)  (31, 1.)  (32, 1.)  (33, 1.)  (34, 1.) <br>row 6: (1, 1.)  (2, 1.)  (6, 1.)  (7, 1.)  (9, 1.)  (10, 1.)  (16, 1.)  (20, 1.)  (25, 1.)  (30, 1.) <br>row 7: (2, 1.)  (6, 1.)  (7, 1.)  (9, 1.)  (10, 1.)  (13, 1.)  (17, 1.)  (20, 1.)  (32, 1.)  (34, 1.) <br>row 8: (8, 1.)  (9, 1.)  (12, 1.)  (13, 1.)  (26, 1.)  (29, 1.)  (30, 1.)  (36, 1.)  (38, 1.)  (39, 1.) <br>row 9: (2, 1.)  (6, 1.)  (7, 1.)  (8, 1.)  (9, 1.)  (10, 1.)  (13, 1.)  (16, 1.)  (17, 1.)  (20, 1.)  (25, 1.)  (30, 1.)  (34, 1.) <br>row 10: (2, 1.)  (6, 1.)  (7, 1.)  (9, 1.)  (10, 1.)  (19, 1.)  (20, 1.)  (29, 1.)  (32, 1.)  (34, 1.) <br>row 11: (0, 1.)  (3, 1.)  (5, 1.)  (11, 1.)  (12, 1.)  (14, 1.)  (15, 1.)  (19, 1.)  (22, 1.)  (23, 1.)  (26, 1.)  (27, 1.)  (31, 1.) <br>row 12: (8, 1.)  (11, 1.)  (12, 1.)  (13, 1.)  (15, 1.)  (22, 1.)  (23, 1.)  (26, 1.)  (27, 1.)  (35, 1.)  (36, 1.)  (39, 1.) <br>row 13: (7, 1.)  (8, 1.)  (9, 1.)  (12, 1.)  (13, 1.)  (17, 1.)  (23, 1.)  (26, 1.)  (30, 1.)  (34, 1.)  (35, 1.)  (36, 1.) <br>row 14: (0, 1.)  (4, 1.)  (11, 1.)  (14, 1.)  (15, 1.)  (19, 1.)  (21, 1.)  (23, 1.)  (24, 1.)  (25, 1.)  (28, 1.)  (38, 1.) <br>row 15: (0, 1.)  (4, 1.)  (11, 1.)  (12, 1.)  (14, 1.)  (15, 1.)  (18, 1.)  (21, 1.)  (23, 1.)  (25, 1.)  (27, 1.)  (28, 1.)  (35, 1.)  (36, 1.) <br>row 16: (1, 1.)  (2, 1.)  (6, 1.)  (9, 1.)  (16, 1.)  (18, 1.)  (21, 1.)  (25, 1.)  (30, 1.) <br>row 17: (1, 1.)  (5, 1.)  (7, 1.)  (9, 1.)  (13, 1.)  (17, 1.)  (18, 1.)  (21, 1.)  (31, 1.)  (33, 1.)  (34, 1.)  (35, 1.)  (36, 1.) <br>row 18: (1, 1.)  (3, 1.)  (15, 1.)  (16, 1.)  (17, 1.)  (18, 1.)  (21, 1.)  (23, 1.)  (31, 1.)  (33, 1.)  (35, 1.)  (36, 1.) <br>row 19: (0, 1.)  (2, 1.)  (3, 1.)  (4, 1.)  (10, 1.)  (11, 1.)  (14, 1.)  (19, 1.)  (20, 1.)  (24, 1.)  (29, 1.)  (32, 1.)  (38, 1.) <br>row 20: (2, 1.)  (6, 1.)  (7, 1.)  (9, 1.)  (10, 1.)  (19, 1.)  (20, 1.) <br>row 21: (1, 1.)  (3, 1.)  (14, 1.)  (15, 1.)  (16, 1.)  (17, 1.)  (18, 1.)  (21, 1.)  (23, 1.)  (25, 1.)  (28, 1.)  (30, 1.)  (33, 1.)  (35, 1.) <br>row 22: (0, 1.)  (3, 1.)  (5, 1.)  (11, 1.)  (12, 1.)  (22, 1.)  (26, 1.)  (27, 1.)  (31, 1.)  (32, 1.)  (33, 1.)  (34, 1.) <br>row 23: (0, 1.)  (11, 1.)  (12, 1.)  (13, 1.)  (14, 1.)  (15, 1.)  (18, 1.)  (21, 1.)  (23, 1.)  (27, 1.)  (35, 1.)  (36, 1.) <br>row 24: (0, 1.)  (4, 1.)  (14, 1.)  (19, 1.)  (24, 1.)  (25, 1.)  (28, 1.)  (29, 1.)  (30, 1.)  (37, 1.)  (38, 1.) <br>row 25: (4, 1.)  (6, 1.)  (9, 1.)  (14, 1.)  (15, 1.)  (16, 1.)  (21, 1.)  (24, 1.)  (25, 1.)  (28, 1.)  (30, 1.)  (37, 1.) <br>row 26: (5, 1.)  (8, 1.)  (11, 1.)  (12, 1.)  (13, 1.)  (22, 1.)  (26, 1.)  (27, 1.)  (29, 1.)  (32, 1.)  (39, 1.) <br>row 27: (0, 1.)  (11, 1.)  (12, 1.)  (15, 1.)  (22, 1.)  (23, 1.)  (26, 1.)  (27, 1.)  (35, 1.)  (36, 1.) <br>row 28: (0, 1.)  (4, 1.)  (14, 1.)  (15, 1.)  (21, 1.)  (24, 1.)  (25, 1.)  (28, 1.)  (30, 1.)  (37, 1.) <br>row 29: (8, 1.)  (10, 1.)  (19, 1.)  (24, 1.)  (26, 1.)  (29, 1.)  (32, 1.)  (34, 1.)  (38, 1.)  (39, 1.) <br>row 30: (4, 1.)  (6, 1.)  (8, 1.)  (9, 1.)  (13, 1.)  (16, 1.)  (21, 1.)  (24, 1.)  (25, 1.)  (28, 1.)  (30, 1.)  (37, 1.)  (38, 1.) <br>row 31: (3, 1.)  (5, 1.)  (11, 1.)  (17, 1.)  (18, 1.)  (22, 1.)  (31, 1.)  (33, 1.)  (34, 1.) <br>row 32: (5, 1.)  (7, 1.)  (10, 1.)  (19, 1.)  (22, 1.)  (26, 1.)  (29, 1.)  (32, 1.)  (34, 1.)  (39, 1.) <br>row 33: (1, 1.)  (3, 1.)  (5, 1.)  (17, 1.)  (18, 1.)  (21, 1.)  (22, 1.)  (31, 1.)  (33, 1.)  (34, 1.)  (35, 1.) <br>row 34: (5, 1.)  (7, 1.)  (9, 1.)  (10, 1.)  (13, 1.)  (17, 1.)  (22, 1.)  (29, 1.)  (31, 1.)  (32, 1.)  (33, 1.)  (34, 1.) <br>row 35: (12, 1.)  (13, 1.)  (15, 1.)  (17, 1.)  (18, 1.)  (21, 1.)  (23, 1.)  (27, 1.)  (33, 1.)  (35, 1.)  (36, 1.) <br>row 36: (8, 1.)  (12, 1.)  (13, 1.)  (15, 1.)  (17, 1.)  (18, 1.)  (23, 1.)  (27, 1.)  (35, 1.)  (36, 1.) <br>row 37: (4, 1.)  (24, 1.)  (25, 1.)  (28, 1.)  (30, 1.)  (37, 1.)  (38, 1.) <br>row 38: (4, 1.)  (8, 1.)  (14, 1.)  (19, 1.)  (24, 1.)  (29, 1.)  (30, 1.)  (37, 1.)  (38, 1.)  (39, 1.) <br>row 39: (8, 1.)  (12, 1.)  (26, 1.)  (29, 1.)  (32, 1.)  (38, 1.)  (39, 1.) </i><br><br><br></div>A native back-tracking gives 8 colors, but all the algorithms in PETSc give 20 colors. Is it supposed to be like this? <br><br></div>Fande,<br><div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 23, 2017 at 10:50 AM, Hong <span dir="ltr"><<a href="mailto:hzhang@mcs.anl.gov" target="_blank">hzhang@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div>Fande,</div></div></div></div></blockquote><span class=""><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div>I was wondering if the coloring approaches listed online are working? Which ones are in parallel, and which ones are in sequential?<br><br><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__www.mcs.anl.gov_petsc_petsc-2Dcurrent_docs_manualpages_Mat_MatColoringType.html-23MatColoringType&d=DwMFaQ&c=54IZrppPQZKX9mLzcGdPfFD1hxrcB__aEkJFOKJFd00&r=DUUt3SRGI0_JgtNaS3udV68GRkgV4ts7XKfj2opmiCY&m=P_6UFiOZ_X1dqcVpUO4Ofk5qw7LX1j67-B1jDTDh2V4&s=OUAGH3fmoF-nvAjjE2JOuU7p0GX5H2twdeZEu2kgeD8&e=" target="_blank">http://www.mcs.anl.gov/petsc/p<wbr>etsc-current/docs/manualpages/<wbr>Mat/MatColoringType.html#MatCo<wbr>loringType</a></div></div></div></blockquote><div> </div></span><div> JP and Greedy are parallel.</div><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><br></div>If the coloring is in parallel, can it be used with the finite difference to compute the Jacobian? Any limitations?</div></div></blockquote><div> </div></span><div>Yes, they work quite well. Git it a try. Let us know if you encounter any problem.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Hong </div></font></span></div><br></div></div>
</blockquote></div><br></div>