Boyce,
      I've added the MPIAIJ version of MatAXPY to petsc-dev which does the 
preallocation before doing the addition. Please test it with your code and 
report any problems if you have.

Thanks,
Shri

----- Shri <abhyshr at mcs.anl.gov> wrote:
> 
> ----- Boyce Griffith <griffith at cims.nyu.edu> wrote:
> > 
> > 
> > On 9/27/10 5:28 PM, Shri wrote:
> > > Barry,
> > >        I've modified MatAXPY_SeqAIJ as follows when 
> > > DIFFERENT_NONZERO_STRUCTURE flag is true (i) create a new matrix and do 
> > > preallocation for it. For determining the number of nonzeros per row in 
> > > the new matrix, i've used the number of nonzeros in the original two 
> > > matrices. This is the piece of code which computes the nnz per row in the 
> > > new matrix
> > >   for(i = 0;i<  m;i++) {
> > >      nzx = xi[i+1] - xi[i]; nzy = yi[i+1] - yi[i];
> > >      if (nzx>  nzy) nnz[i] = nzy + (nzx - nzy);
> > >      else nnz[i] = nzx + (nzy - nzx);
> > >   }
> > 
> > I don't understand why this is the right thing to do. 
>   My apologies,the above code snippet is incorrect. Jed has already pushed a 
> fix for this and i'm working on it too. Sorry about the confusion.
> 
> Shri
>  It seems like 
> > this either sets nnz in the new matrix to be nzx or nzy, whichever is 
> > smaller.  Am I misreading this code snippet?
> > 
> > -- Boyce
> 


Reply via email to