<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Yaoyu :</div><div class="gmail_quote">MatGetSubMatrices() returns sequential matrices. </div><div class="gmail_quote">IS must be sequential, created with PETSC_COMM_SELF.</div><div class="gmail_quote">See petsc/src/mat/examples/tests/ex42.c</div><div class="gmail_quote"><br></div><div class="gmail_quote">Check your submatrices.</div><div class="gmail_quote"><br></div><div class="gmail_quote">Hong</div><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi everyone,<br>
<br>
I am trying to get values owned by other processors of a parallel matrix.<br>
<br>
I tried to create a sub-matrix by using MatGetSubMatrices(), and then<br>
MatGetRow() on the sub-matrix. But MatGetRow() give me the following<br>
error message:<br>
<br>
===== Error message begins =====<br>
<br>
No support for this operation for this object type<br>
only local rows<br>
<br>
===== Error message ends =====<br>
<br>
The parallel matrix is a parallel dense matrix. The ISs for<br>
MatGetSubMatrices() are created using ISCreateGeneral() and<br>
PETSC_COMM_WORLD. The row IS is sorted by ISSort().<br>
<br>
What did I mistake while using the above functions? Is there a better<br>
way to get access to matrix values owned by other processor?<br>
<br>
Thanks!<br>
<span class=""><font color="#888888"><br>
HU Yaoyu<br>
</font></span></blockquote></div><br></div></div>