Thanks very much, Jed.<br>I have a vector (V) and a matrix (A),<br>I want to do Row_i_A.*V or Row_i_A./V (Row_i_A are the rows of A). However, V has different format with the rows of A. <br><br>If I use MatGetValues(), I don&#39;t care whether there are zero entries in A when I extract a row of A. MatGetValues() will fill the entries with zero if the entries are zero in sparse matrix.<br>
The problem is I need to be careful when doing Row_i_A./V.<br><br>Regards,<br>Yujie <br><br><div class="gmail_quote">On Sun, Feb 21, 2010 at 2:29 PM, Jed Brown <span dir="ltr">&lt;<a href="mailto:jed@59a2.org">jed@59a2.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">On Sun, 21 Feb 2010 14:19:48 -0600, Yujie &lt;<a href="mailto:recrusader@gmail.com">recrusader@gmail.com</a>&gt; wrote:<br>

&gt; It is not only for A./B. If one wants to do A.*B, it is not necessary to<br>
&gt; guarantee the nonzeros of B. Generally, I think MatGetValues() will be good<br>
&gt; choice although you need to judge whether the entries are zero when doing<br>
&gt; A./B.<br>
<br>
</div>MatGetValues requires you to know the nonzero pattern of B (or in the<br>
case of .*, the union of the nonzeros of A and B).  What problem are you<br>
trying to solve where you need to do this operation?  Perhaps we can<br>
suggest a better way.<br>
<font color="#888888"><br>
Jed<br>
</font></blockquote></div><br>