<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jan 21, 2015 at 12:56 PM, Chung-Kan Huang <span dir="ltr"><<a href="mailto:ckhuangf@gmail.com" target="_blank">ckhuangf@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">Hi, </div><div class="gmail_extra"> </div><div class="gmail_extra">So if I do </div><div class="gmail_extra"> </div><div class="gmail_extra">Mat A, AB;</div><div class="gmail_extra">MatCreateAIJ(comm,m,n,M,N,d_nz, d_nnz,o_nz, o_nnz, &A);</div><div class="gmail_extra">MatConvert(A, MATBAIJ, MAT_INITAL_MATRIX, &AB);</div><div class="gmail_extra">MatSetBlockSize(AB, bs)<br></div><div class="gmail_extra">I can create AB as a BAIJ with block size of bs from A which is a AIJ matrix.</div><div class="gmail_extra"> </div><div class="gmail_extra">So from this point I can use both A and AB and they will mean the same matrix. Am I right?</div></div></blockquote><div><br></div><div>Yes</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">At the end of the program do I only destory one of them or both?</div></div></blockquote><div><br></div><div>Both</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra">Do I need to worry about anything in terms of memory penalty?</div></div></blockquote><div><br></div><div>It is twice the memory. Its another matrix.</div><div><br></div><div>Did you catch when Jed said you could jsut create the BAIJ up front?</div><div><br></div><div>  Thanks,</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"><div dir="ltr"><div class="gmail_extra"> </div><div class="gmail_extra">Thanks,</div><div class="gmail_extra"> </div><div class="gmail_extra">Kan</div><div class="gmail_extra"> </div><div class="gmail_extra"> </div><div class="gmail_quote">On Tue, Jan 20, 2015 at 4:39 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid" class="gmail_quote"><br>
  You can do a MatConvert() (requires another copy of the matrix) for the parts that benefit from BAIJ.<br>
<span><font color="#888888"><br>
  Barry<br>
</font></span><div><div><br>
> On Jan 20, 2015, at 4:33 PM, Chung-Kan Huang <<a href="mailto:ckhuangf@gmail.com" target="_blank">ckhuangf@gmail.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> Does PETSc provide means for conversion between AIJ & BAIJ.<br>
><br>
> My matrix is created as AIJ because it makes life easy for most part of the applications but some part of applications actually get some benefits with BAIJ.  So I wonder if a matrix can exist as two idenfities and I can use either format depend on which one is more convenient at run time.<br>
><br>
> So in my case the block size is fixed and identical for all blocks.<br>
><br>
><br>
> Thanks,<br>
><br>
><br>
> Kan<br>
<br><span class="HOEnZb"><font color="#888888">
</font></span></div></div></blockquote></div><span class="HOEnZb"><font color="#888888"><div class="gmail_extra"><br><br clear="all"><br>-- <br></div><div><p><strong>Cheers</strong></p></div><div class="gmail_extra">
</div></font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">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></div>