<div>This is why I have recompiled PETSc with spooles. spooles can deal with AX=Y(Y is a matrix). However, PETSc only provide the following:<br>51: PetscErrorCode MatSolve_MPISpooles(Mat A,Vec b,Vec x)<br>I don&#39;t set b to a matrix even if I use <br>
178: PetscErrorCode MatFactorNumeric_MPISpooles(Mat A,MatFactorInfo *info,Mat *F) for LU factorization</div>
<div>&nbsp;</div>
<div>Could you give me some advice or examples? thanks a lot.</div>
<div>&nbsp;</div>
<div>Regards,</div>
<div>Yujie&nbsp;<br><br></div>
<div class="gmail_quote">On Wed, Feb 27, 2008 at 11:32 AM, Matthew Knepley &lt;<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>&gt; wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div class="Ih2E3d">On Wed, Feb 27, 2008 at 1:21 PM, Yujie &lt;<a href="mailto:recrusader@gmail.com">recrusader@gmail.com</a>&gt; wrote:<br>&gt; Dear Matt:<br>&gt;<br>&gt; I checked the codes about MatMatSolve(). However, currently, PETSc didn&#39;t<br>
&gt; realize its parallel version. Is it right? I want to inverse the matrix<br>&gt; parallelly. could you give me some examples about it? thanks a lot.<br><br></div>Thats right. The parallel version is not implemented. It looks like this would<br>
take significant work.<br>
<div>
<div></div>
<div class="Wj3C7c"><br>&nbsp;Matt<br><br>&gt; Regards,<br>&gt; Yujie<br>&gt;<br>&gt;<br>&gt;<br>&gt; On 2/27/08, Matthew Knepley &lt;<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>&gt; wrote:<br>&gt; &gt; On Wed, Feb 27, 2008 at 11:05 AM, Yujie &lt;<a href="mailto:recrusader@gmail.com">recrusader@gmail.com</a>&gt; wrote:<br>
&gt; &gt; &gt; Dear Sanjay:<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Thank you for your reply. I don&#39;t understand what you said. Now, I want<br>&gt; to<br>&gt; &gt; &gt; use spooles package to inverse a sparse SPD matrix. I have further<br>
&gt; checked<br>&gt; &gt; &gt; the inferface about spooles in PETSc. I find although spooles can deal<br>&gt; with<br>&gt; &gt; &gt; AX=B (B may be a dense matrix) with parallel LU factorization.<br>&gt; &gt; &gt; &nbsp;However, PETSc only provide the following:<br>
&gt; &gt; &gt; 51: PetscErrorCode MatSolve_MPISpooles(Mat A,Vec b,Vec x)<br>&gt; &gt; &gt; &nbsp;I don&#39;t set b to a matrix even if I use<br>&gt; &gt; &gt; &nbsp;178: PetscErrorCode MatFactorNumeric_MPISpooles(Mat A,MatFactorInfo<br>
&gt; &gt; &gt; *info,Mat *F) for LU factorization.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Could you have any suggestions about this? thanks a lot.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; MatMatSolve()<br>&gt; &gt;<br>&gt; &gt;<br>
&gt; <a href="http://www-unix.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/Mat/MatMatSolve.html" target="_blank">http://www-unix.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/Mat/MatMatSolve.html</a><br>
&gt; &gt;<br>&gt; &gt; &nbsp; &nbsp;Matt<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; &gt; Regards,<br>&gt; &gt; &gt; Yujie<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; On 2/26/08, Sanjay Govindjee &lt;<a href="mailto:sanjay@ce.berkeley.edu">sanjay@ce.berkeley.edu</a>&gt; wrote:<br>
&gt; &gt; &gt; &gt; from my make file<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; -@${MPIRUN} -s all -np $(NPROC) $(PROGNAME) -ksp_type preonly<br>&gt; &gt; &gt; &gt; -ksp_monitor -pc_type cholesky -mat_type mpisbaijspooles -log_summary<br>
&gt; &gt; &gt; &gt; -on_error_attach_debugger -mat_spooles_symmetryflag 0 &nbsp;-options_left<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; -sg<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; Yujie wrote:<br>
&gt; &gt; &gt; &gt; &gt; Hi, everyone<br>&gt; &gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; &gt; I have compiled PETSc with spooles. However, I try to find how to<br>&gt; use<br>&gt; &gt; &gt; &gt; &gt; this package in PETSc directory. I can&#39;t find any examples for it.<br>
&gt; &gt; &gt; &gt; &gt; Could you give me some advice? I want to use spooles to inverse a<br>&gt; &gt; &gt; &gt; &gt; sparse matrix. thanks a lot.<br>&gt; &gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; &gt; Regards,<br>&gt; &gt; &gt; &gt; &gt; Yujie<br>
&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; --<br>&gt; &gt; What most experimenters take for granted before they begin their<br>
&gt; &gt; experiments is infinitely more interesting than any results to which<br>&gt; &gt; their experiments lead.<br>&gt; &gt; -- Norbert Wiener<br>&gt; &gt;<br>&gt; &gt;<br>&gt;<br>&gt;<br><br><br><br></div></div>--<br>

<div>
<div></div>
<div class="Wj3C7c">What most experimenters take for granted before they begin their<br>experiments is infinitely more interesting than any results to which<br>their experiments lead.<br>-- Norbert Wiener<br><br></div></div>
</blockquote></div><br>