Thanks, Matt. I think the manpage should point out this. In MatGetSubmatrix(). "isrow" and "iscol" have good explanations.
Regards, Yujie On Thu, May 27, 2010 at 10:07 PM, Matthew Knepley <knepley at gmail.com> wrote: > On Fri, May 28, 2010 at 1:02 PM, Yujie <recrusader at gmail.com> wrote: >> >> Dear PETSc Developers, >> >> I got the following information from VecScatterCreate() manpage. >> " >> PetscErrorCode ?VecScatterCreate(Vec xin,IS ix,Vec yin,IS iy,VecScatter >> *newctx) >> >> Collective on Vec >> >> Input Parameters >> ? ? ? ?xin ? ? - a vector that defines the shape (parallel data layout of >> the >> vector) of vectors from which we scatter >> ? ? ? ?yin ? ? - a vector that defines the shape (parallel data layout of >> the >> vector) of vectors to which we scatter >> ? ? ? ?ix ? ? ?- the indices of xin to scatter (if PETSC_NULL scatters all >> values) >> ? ? ? ?iy ? ? ?- the indices of yin to hold results (if PETSC_NULL fills >> entire >> vector yin) >> " >> My question is about "ix". If xin and yin are parallel Vec, how about ix? >> >> Is "ix" ?an IS only containing local index set or a parallel IS >> containing all the index set on all the processors (each local index >> set on its processor)? Thanks a lot. > > ix contains some indices for that process. The indices can be different on > each process. > We take the union. > ?? Matt > >> >> Regards, >> Yujie > > > > -- > What most experimenters take for granted before they begin their experiments > is infinitely more interesting than any results to which their experiments > lead. > -- Norbert Wiener >
