There is a hint in a comment in matimpl.h
Note: the level of factor(i,j) is set as lvl(i,j) = min{ lvl(i,j), lvl(i,prow)+lvl(prow,j)+1) So it is the sum approach. Barry > On Jan 3, 2019, at 9:38 AM, Tim Steinhoff via petsc-users > <petsc-users@mcs.anl.gov> wrote: > > Dear PETSc Team > > I checked the references that are stated on > > https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCILU.html > > to get an idea of the definition of <level> that is used in PETSc's > ILU(k) implementation. I haven't found anything of substance in the > first reference (T. Dupont, R. Kendall, and H. Rachford) and only a > rather vague description in the third one (Sec. 3.1 in the book). The > second one isn't yet available to me. > > Additionally, I checked > > https://www-users.cs.umn.edu/~saad/IterMethBook_2ndEd.pdf > > which gives a thorough explanation in Subsec. 10.3.3. Also, I took a look at > > https://www.cs.odu.edu/~pothen/Papers/ilu-levels.pdf > > which gives _two_ different definitions of level (p. 3 'sum' and > 'max'). The sum-version equals the one in Saad. The statement on > Wikipedia defines level according to the nonzero pattern of powers of > A. > > So the question is: Which definition of <level> was utilized for the > implementation in PETSc? Any of the above? Or something else? > > Thanks and kind regards > tim > > P.S.: Happy New Year!