<div class="gmail_quote">On Thu, Aug 9, 2012 at 9:50 AM, Jinquan Zhong <span dir="ltr"><<a href="mailto:jzhong@scsolutions.com" target="_blank">jzhong@scsolutions.com</a>></span> wrote: <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div class="im"><div><div><div><p class="MsoNormal"> </p></div></div></div><div><p class="MsoNormal"><u></u></p>
</div>
</div><div><div class="im">
<p class="MsoNormal">"mingled" is not a very useful term. How about using an actual equation so we can have some clue what you mean.<u></u><u></u></p>
</div><p><u></u><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d"><span>o<span style="font:7.0pt "Times New Roman"">  
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I agree.  It is hard to have an accurate equation to for the structure of A’.  But if you are familiar with FEM,  you may know global stiffness matrix
 K=SIGMA_ij( K_ij ), the assembling process of elemental stiffness.  Here A’=K. </span></p></div></div></blockquote><div>This cannot be true because you say A' is the larger part sparse and part dense matrix. Maybe you mean A rather than A'?</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> <u></u>
<u></u></span></p>
<p><u></u><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d"><span>o<span style="font:7.0pt "Times New Roman"">  
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">We partition the FEM domain into two physical pieces due to different operations they are defined for.  After completing each operation, we need to
 operate on A^-1_ij and B_i’j’ such that we can have K=A’=SIGMA_ij (A^-1_ij)+SIGMA_i’j’(B_i’j’).</span></p></div></div></blockquote><div>The sum of the inverses are not the inverses of the sum. Can you back up further to explain what underlying problem you are trying to solve?</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></p>

</div><div class="im">
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"> <span style="color:#1f497d"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal">If you have an "inverse" floating around, what sort of operator is it the inverse of.<u></u><u></u></p>
<p><span style="font-size:11.0pt;font-family:Wingdings;color:#1f497d">ü</span><span style="font-size:7.0pt;color:#1f497d"> 
</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">A is a double complex matrix we have generated from a practical application using FEM. </span><u></u><u></u></p>
</div>
</div>
</blockquote>
</div></div><div class="im">
<p class="MsoNormal">Then there is no way A^{-1} should be stored as a dense matrix.
<u></u><u></u></p>
</div><p><u></u><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d"><span>o<span style="font:7.0pt "Times New Roman"">  
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">It is stored as a dense matrix in scalapack.  It stays in the same way in cores as scalapack finishes its inversion.  We could define A^-1 as dense
 matrix in PETSc. </span></p></blockquote><div>It should not be done this way. A^{-1} should not be stored explicitly. Store the sparse finite element matrix A. Then when you want to "apply A^{-1}", solve with the sparse matrix.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> <u></u><u></u></span></p>

<p><u></u><span style="font-size:11.0pt;font-family:"Courier New";color:#1f497d"><span>o<span style="font:7.0pt "Times New Roman"">  
</span></span></span><u></u><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Another constraint we have is we have to use direct solver for QA purposes.  This brings up the needs to convert the dense matrix into MATAIJ or MATMPIAIJ. 
 However, in PETSc, converting dense matrix-formatted A^-1 into MATAIJ/ MATMPIAIJ also takes lots of time.</span></p></blockquote><div>Choose the right tool for the job. When I cook dinner tonight, I plan to use a stove and a frying pan instead of a dump truck radiator and 200 feet of 18 gauge copper wire woven into a basket.</div>
</div>