<div dir="ltr">Alex,<div><br></div><div>If you are adding a sparse matrix to a dense one, you are better off just iterating through the values of your sparse matrix and adding them to your dense matrix.<br><br></div><div>As far as I know, there are no routines in PETSc that will do this automatically for you (and this sort of thing is really not PETSc&#39;s strength).</div>
<div><br></div><div>A</div><div><br><div class="gmail_quote">On Mon, Mar 21, 2011 at 2:14 PM, Alexander Grayver <span dir="ltr">&lt;<a href="mailto:agrayver@gfz-potsdam.de">agrayver@gfz-potsdam.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hello!<br>
<br>
I have two matrices L and J. L is the sparse with 2 nonzeros per row maximum (quite often there are no values in a row at all) and J is the dense matrix. I need to add matrix L to matrix J so that:<br>
<br>
J = J + L<br>
<br>
I try to use:<br>
call MatAYPX(J,one,L,SUBSET_NONZERO_PATTERN,ierr)<br>
<br>
Because it seems most obvious and efficient way.<br>
<br>
and program crashes with this callstack:<br>
    unknown :: BLASaxpy_<br>
    dense.c :: MatAXPY_SeqDense<br>
     axpy.c :: MatAXPY<br>
     axpy.c :: MatAYPX<br>
     axpyf.c :: MATAYPX<br>
     MODELING_MOD::MODELING<br>
<br>
I figured out the only one working combination:<br>
call MatAXPY(LT,one,JT,DIFFERENT_NONZERO_PATTERN,ierr)<br>
<br>
But this is very slow and inefficient.<br>
<br>
What actually could be done in such a situation?<br>
<br>
Thanks in advance.<br>
<br>
Regards,<br><font color="#888888">
Alexander<br>
<br>
<br>
</font></blockquote></div><br></div></div>