<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, May 8, 2014 at 2:06 PM, marco restelli <span dir="ltr"><<a href="mailto:mrestelli@gmail.com" target="_blank">mrestelli@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2014-05-08 18:29 GMT+0200, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>>:<br>
> On Thu, May 8, 2014 at 11:25 AM, marco restelli <<a href="mailto:mrestelli@gmail.com">mrestelli@gmail.com</a>><br>
> wrote:<br>
><br>
>> Hi,<br>
>>    I have a Cartesian communicator and some matrices distributed along<br>
>> the "x" direction. I would like to compute an all_reduce operation for<br>
>> these matrices in the y direction, and I wander whether there is a<br>
>> PETSc function for this.<br>
>><br>
>><br>
>> More precisely:<br>
>><br>
>> a matrix A is distributed among processors  0 , 1 , 2<br>
>> another A is distributed among processors   3 , 4 , 5<br>
>> another A is distributed among processors   6 , 7 , 8<br>
>> ...<br>
>><br>
>> The x direction is 0,1,2; while the y direction is 0,3,6,...<br>
>><br>
>> I would like to compute a matrix  B = "sum of the matrices A"  and a<br>
>> copy of B should be distributed among processors 0,1,2, another copy<br>
>> among 3,4,5 and so on.<br>
>><br>
>> A way of doing this is getting the matrix coefficients, broadcasting<br>
>> them along the y direction and summing them in the matrix B; maybe<br>
>> however there is already a PETSc function doing this.<br>
>><br>
><br>
> There is nothing like this in PETSc. There are many tools for this using<br>
> dense<br>
> matrices in Elemental, but I have not seen anything for sparse matrices.<br>
><br>
>    Matt<br>
><br>
<br>
OK, thank you.<br>
<br>
Now, to do it myself, is MatGetRow the best way to get all the local<br>
nonzero entries of a matrix?</blockquote><div><br></div><div>I think MatGetSubmatrices() is probably better.</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
Marco<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener
</div></div>