<div dir="ltr">So this actually means it somehow matches the local indecies? What i mean by that is,<div><br></div><div>y[ iy[i] ] = x[ ix[i] ].</div><div><br></div><div>Is that why ix and iy should have the same size?</div>

<div><br></div><div>Mohammad<br><br><div class="gmail_quote">On Thu, Feb 9, 2012 at 3:17 PM, Satish Balay <span dir="ltr">&lt;<a href="mailto:balay@mcs.anl.gov">balay@mcs.anl.gov</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5">On Thu, 9 Feb 2012, Mohammad Mirzadeh wrote:<br>
<br>
&gt; Hi guys,<br>
&gt;<br>
&gt; I&#39;m just wondering if I understand how the VecScatter works. Considering<br>
&gt; (petsc 3.2-p6 manual page 53):<br>
&gt;<br>
&gt; VecScatterCreate(Vec x,IS ix,Vec y,IS iy,VecScatter *ctx);<br>
&gt; VecScatterBegin(VecScatter ctx,Vec x,Vec y,INSERT VALUES,SCATTER FORWARD);<br>
&gt; VecScatterEnd(VecScatter ctx,Vec x,Vec y,INSERT VALUES,SCATTER FORWARD);<br>
&gt; VecScatterDestroy(VecScatter *ctx);<br>
&gt;<br>
&gt; is the following statement correct?<br>
&gt;<br>
&gt; VecScatter looks into &quot;ix&quot; and &quot;iy&quot; index sets and `matches&#39; the global<br>
&gt; indecies between the two to copy data from vector &quot;x&quot; to vector &quot;y&quot;. For<br>
&gt; example, if &quot;ix&quot; maps local index &quot;1&quot; to global index &quot;10&quot;, VecScatter<br>
&gt; looks inside &quot;iy&quot; to find a local index that is mapped to global index &quot;10&quot;<br>
&gt; and sends the data accordingly to the correct processor.<br>
<br>
</div></div>nope - it means - if you have x[10],y[10]:<br>
<br>
ix = {1,5,9}<br>
iy = {0,2,1}<br>
<br>
<br>
Then you get:<br>
y[0] = x[1]<br>
y[2] = x[5]<br>
y[1] = x[9]<br>
<br>
[all numbers above are global indices]<br>
<br>
Satish<br>
<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Mohammad<br>
&gt;<br>
<br>
</blockquote></div><br></div></div>