Hi, everyone #include "petscmat.h" PetscErrorCode PETSCMAT_DLLEXPORT MatGetSubMatrix(Mat mat,IS isrow,IS iscol,PetscInt csize,MatReuse cll,Mat *newmat) #include "petscmat.h" PetscErrorCode PETSCMAT_DLLEXPORT MatGetSubMatrices(Mat mat,PetscInt n,const IS irow[],const IS icol[],MatReuse scall,Mat *submat[])
To my knowledge, I can't get different matrices at different nodes by setting different isrows and iscol with MatGetSubMatrix(). Because isrow is rows current processor should obtain and the iscol argument must be the same on each processor. 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. Because this function only gets different sequential matrices at different nodes. Is it right? Another equestion is how to partition the matrix when calling MatConvert() to convert a sequential matrix to a parallel one? Thanks a lot. Regards, Yujie -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20080304/713c8c97/attachment.htm>
