<div dir="ltr">On Mon, Apr 22, 2013 at 9:14 AM, Jan Essert <span dir="ltr"><<a href="mailto:netz@essert.name" target="_blank">netz@essert.name</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Dear list,<br>
<br>
I would like to construct a large, sparse matrix M out of four submatrices.<br>
<br>
(A B)<br>
(C D)<br>
<br>
These submatrices are obtained as results of MatMatMult multiplications of<br>
other sparse matrices.<br>
I have tried the following procedure for all four submatrices (here only<br>
for A)<br>
<br>
Mat A;<br>
MatGetLocalSubMatrix(M, rows1, cols1, MAT_INITIAL_MATRIX, &A);<br>
MatMatMult(A1, A2, MAT_INITIAL_MATRIX, PETSC_DEFAULT, &A);<br>
MatRestoreLocalSubMatrix(M, rows1, cols1, &A);<br></blockquote><div><br></div><div style>MAT_INITIAL_MATRIX creates the matrix. You need MAT_RESUE_MATRIX.</div><div style><br></div><div style>   Matt</div><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
These lines use appropriate ISs rows1 and cols1 which contain the first<br>
rows and columns of M that correspond to the submatrix A.<br>
<br>
This, however results in an empty matrix M.<br>
<br>
What am I doing wrong?<br>
If this is not the right approach, how can I do it better?<br>
Manually copying the values from the results of the multiplications into M<br>
takes forever, unfortunately..<br>
<br>
Thanks for your help!<br>
<span class="HOEnZb"><font color="#888888">Jan<br>
<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>