<div class="gmail_quote">On Mon, Mar 21, 2011 at 12:14, 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;">
<div id=":dr">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)</div></blockquote></div><br><div>The dispatch for this is not set up for matrices of different type. From C, you can</div><div><br></div><div>#include &lt;private/matimpl.h&gt; /* declaration of MatAXPY_Basic */</div>
<div>MatAXPY_Basic(J,1.0,L,SUBSET_NONZERO_PATTERN);</div><div><br></div><div>There is not a Fortran binding for this function, but you could write the wrapper (basically just copy from src/mat/utils/ftn-auto/axpyf.c). Alternatively, the code for this is really simple, just iterate through the rows of L and insert them into J.</div>