Hi, everyone<br><br>#include "petscmat.h" <br>PetscErrorCode PETSCMAT_DLLEXPORT MatGetSubMatrix(Mat mat,IS isrow,IS iscol,PetscInt csize,MatReuse cll,Mat *newmat)<br>#include "petscmat.h" <br>PetscErrorCode PETSCMAT_DLLEXPORT MatGetSubMatrices(Mat mat,PetscInt n,const IS irow[],const IS icol[],MatReuse scall,Mat *submat[])<br>
<br>To my knowledge, I can't get different matrices at different nodes by setting different isrows and iscol with MatGetSubMatrix(). <br>Because isrow          is rows current processor should obtain and the iscol argument must be the same on each processor.<br>
Furthermore, I can't get different parallel matrices at different nodes by setting different irow[] and icolp[] with MatGetSubMatrices() assuming I only want to get a matrix at each node.<br>Because this function only gets different sequential matrices at different nodes. Is it right?<br>
<br>Another equestion is how to partition the matrix when calling MatConvert() to convert a sequential matrix to a parallel one? <br><br>Thanks a lot.<br><br>Regards,<br>Yujie<br>