[petsc-users] MatColoring for non square matrices
Tim Steinhoff
kandanovian at gmail.com
Fri Jan 27 10:48:56 CST 2017
Hi,
are the MatColoring routines supposed to work with non square
matrices? It depends on the matrix and the coloring algorithms, that
sometimes seem to give a valid coloring, sometimes gives totally wrong
results and sometimes crashes.
Here is a small fortran sample code snipped, that crashes:
Mat :: c
MatColoring :: color
ISColoring :: isColor
call MatCreate(PETSC_COMM_WORLD, c, ierr)
call MatSetSizes(c,PETSC_DECIDE,PETSC_DECIDE,3,5,ierr)
call MatSetFromOptions(c,ierr)
call MatSetUp(c, ierr)
if (myrank .eq. 0) then
call MatSetValue(c, 0, 0, 1d0, INSERT_VALUES, ierr)
call MatSetValue(c, 0, 1, 0d0, INSERT_VALUES, ierr)
call MatSetValue(c, 0, 2, 2d0, INSERT_VALUES, ierr)
call MatSetValue(c, 0, 4, 0d0, INSERT_VALUES, ierr)
call MatSetValue(c, 1, 0, 0d0, INSERT_VALUES, ierr)
call MatSetValue(c, 1, 1, 0d0, INSERT_VALUES, ierr)
call MatSetValue(c, 1, 2, 0d0, INSERT_VALUES, ierr)
call MatSetValue(c, 1, 3, 0d0, INSERT_VALUES, ierr)
call MatSetValue(c, 2, 0, 3d0, INSERT_VALUES, ierr)
call MatSetValue(c, 2, 2, 4d0, INSERT_VALUES, ierr)
call MatSetValue(c, 2, 3, 1d0, INSERT_VALUES, ierr)
end if
call MatAssemblyBegin(c,MAT_FINAL_ASSEMBLY,ierr)
call MatAssemblyEnd(c,MAT_FINAL_ASSEMBLY,ierr)
call MatColoringCreate(c, color, ierr)
call MatColoringSetType(color, MATCOLORINGGREEDY, ierr)
call MatColoringSetFromOptions(color, ierr)
call MatColoringApply(color, isColor, ierr)
[1]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation,
probably memory access out of range
#9 0x00007fb1b242b407 in GreedyColoringLocalDistanceTwo_Private
(mc=0x97da50, wts=0x97f640, lperm=0x982980, colors=0x982fe0) at
/fsgarwinhpc/133/petsc/sources/petsc-3.7.5/src/mat/color/impls/greedy/greedy.c:349
#10 0x00007fb1b242ebdc in MatColoringApply_Greedy (mc=0x97da50,
iscoloring=0x7ffcedf22698) at
/fsgarwinhpc/133/petsc/sources/petsc-3.7.5/src/mat/color/impls/greedy/greedy.c:580
#11 0x00007fb1b240e3de in MatColoringApply (mc=0x97da50,
coloring=0x7ffcedf22698) at
/fsgarwinhpc/133/petsc/sources/petsc-3.7.5/src/mat/color/interface/matcoloring.c:382
#12 0x00007fb1b2410f37 in matcoloringapply_ (mc=0x7ffcedf22690,
coloring=0x7ffcedf22698, __ierr=0x6475e8 <nut_petsc_intern_mp_ierr_>)
at /fsgarwinhpc/133/petsc/sources/petsc-3.7.5/src/mat/color/interface/ftn-auto/matcoloringf.c:115
Thanks and kind regards,
Volker
More information about the petsc-users
mailing list