[petsc-users] matrix-matrix addition
    Jed Brown 
    jed at 59A2.org
       
    Mon Sep 27 11:30:03 CDT 2010
    
    
  
On Mon, Sep 27, 2010 at 18:24, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
>  We need an efficient MatAXPY() that works well for any combination of nonzero patterns. This is not terribly difficult to write.  Basically for each row create a linked list of the nonzeros in it from the first matrix and then merge in the nonzeros from the second matrix for that row, much like in the LU symbolic factorizations. This will give you row counts, then preallocate the correct nonzero matrix and do the MatSetValues() for the first matrix first row then the second matrix first row etc. Finally swap in the new matrix body into the current matrix.
I don't see why you'd need a linked list for this, you have two sorted
arrays (one for each row) and just need to count the number of unique
elements.  It's one loop.
Jed
    
    
More information about the petsc-users
mailing list