<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hello All,<div><br></div><div>I have some questions regarding ex2.c in /<i>petsc/src/ksp/ksp/examples/tutorials/ex2.c. </i></div><div><i><br></i></div><div>1.   The  local sizes of the matrix was decided by PETSc using <i>ierr = MatSetSizes(A,PETSC_DECIDE,PETSC_DECIDE,m*n,m*n);CHKERRQ(ierr);</i></div><div>But without knowing the local sizes, how was the following function used which requires the knowledge of how the big matrix was split into smaller chunks within PETSc? </div><div><div>  <i>ierr = MatMPIAIJSetPreallocation(A,5,NULL,5,NULL);CHKERRQ(ierr);</i></div></div><div><br></div><div>2.  When using  <i>MatGetOwnershipRange(A,&Istart,&Iend);CHKERRQ(ierr),  </i>the global index of  first and last row of which local chunk of the big matrix is it returning ? I mean if the big matrix was split into three processes, for example, fist and last global row of which process is it returning? </div><div><br></div><div>Your replies are highly appreciated</div><div><br></div><div>Thanks,</div><div>Maahi Talukder</div><div>Clarkson University </div><div><br></div><div><br></div></div></div></div></div></div>