Can you reference a paper or some notes on the algorithm?<br><br><div class="gmail_quote">On Thu, Jul 5, 2012 at 8:40 AM, domenico lahaye <span dir="ltr"><<a href="mailto:domenico_lahaye@yahoo.com" target="_blank">domenico_lahaye@yahoo.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:12pt;font-family:arial,helvetica,sans-serif">Dear PETSc developers, <br><br>  Thank you for your support to Abdul. <br>
<div><br><span></span></div><div><span>   We are in the process of developing a multilevel <br></span></div><div><span>Krylov solver for the Helmholtz equation. Abdul <br></span></div><div><span>has implemented Algorithm I for this purpose. <br>
</span></div><div><span>We next would like to implement Algorithm II. <br></span></div><div><span></span><span>Algorithm || amounts to replacing every occurrence <br></span></div><div><span>of the system matrix $A$ in Algorithm I by <br>
</span></div><div><span></span><span>$M^{-1} A$. This replacement should occur on all <br></span></div><div><span>levels. We thought of two ways to realize this <br></span></div><div><span>replacement. <br></span></div><div>
<span><br></span></div><div><span>1) We thought of
 adopting a matrix-free approach, <br></span></div><div><span>and to plug in the operation with  $M^{-1}$ there. <br></span></div><div>This would require a ksp context inside MatMult.    <br><span></span></div><div><span>We wonder whether this a approach is feasible to <br>
</span></div><div><span>take. <br></span></div><div><br><span></span></div><div><span>2) The other approach would by to implement a <br></span></div><div><span>customized pcmg preconditioner that we can adapt <br></span></div>
<div><span>to our needs. This could be a more elegant approach, <br></span></div><div><span>at the cost of doing more work. Is the assumption <br></span></div><div><span>that the second approach is more elegant correct <br>
</span></div><div><span>and would you be able to give advice on how to tackle <br></span></div><div><span>this approach? <br></span></div><div><br><span></span></div><div><span>  Kind wishes, Domenico.
 <br></span></div><div><span><br> </span></div><div><br></div>  <div style="font-family:arial,helvetica,sans-serif;font-size:12pt"> <div style="font-family:times new roman,new york,times,serif;font-size:12pt"> <div style="font-size:10pt;font-family:verdana,helvetica,sans-serif">
 <font face="Arial"> <hr size="1"><b><span style="font-weight:bold"></span></b></font><div><div class="h5"><div><br></div><div><br><blockquote style="border-left:2px solid rgb(16,16,255);margin-left:5px;margin-top:5px;padding-left:5px">
  <div style="font-family:verdana,helvetica,sans-serif;font-size:10pt"> <div style="font-family:times new roman,new york,times,serif;font-size:12pt"> <div dir="ltr"> <font face="Arial"> ----- Forwarded
 Message -----<br>  <b><span style="font-weight:bold">From:</span></b> Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>><br> <b><span style="font-weight:bold">To:</span></b> Abdul Hanan Sheikh <<a href="mailto:hanangul12@yahoo.co.uk" target="_blank">hanangul12@yahoo.co.uk</a>>; PETSc users list <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> <br>
 <b><span style="font-weight:bold">Sent:</span></b> Thursday, 5 July 2012, 15:45<br> <b><span style="font-weight:bold">Subject:</span></b> Re: [petsc-users] Adapting MatMult and PCMG functions in matrix-free method.<br> </font> </div>
 <br><div>On Thu, Jul 5, 2012 at 7:34 AM, Abdul Hanan Sheikh <span dir="ltr"><<a rel="nofollow" href="mailto:hanangul12@yahoo.co.uk" target="_blank">hanangul12@yahoo.co.uk</a>></span> wrote:<br><div><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div><div style="font-size:10pt;font-family:verdana,helvetica,sans-serif"><div style="color:rgb(0,0,191)"><span>Dear developers and users,</span></div><div style="color:rgb(0,0,191)"><span>Summer greetings.</span></div><div style="color:rgb(0,0,191)">

<span> We have few question listen below: </span></div><div style="color:rgb(0,0,191)"><span><br></span></div><div style="color:rgb(0,0,191)">1. <br><span></span></div><div style="color:rgb(0,0,191)"><span>The first question is about adapting <span style="font-style:italic">" MatMult</span> " function in matrix-free method.</span></div>

<div style="color:rgb(0,0,191)"><span>We intend to incorporate a KSP context inside <span style="font-style:italic">"MatMult</span>" . </span><span>The immediate question is how to</span></div><div style="color:rgb(0,0,191)">

<span>provide more than one matrices as input. </span></div></div></div></blockquote><div><br></div><div>You provide extra data through the context for the MATSHELL</div><div> </div><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div><div style="font-size:10pt;font-family:verdana,helvetica,sans-serif"><div style="color:rgb(0,0,191)"><span>Is this idea of incorporating a KSP context inside </span><span><span style="font-style:italic">"MatMult</span>" </span><span>function workable ? Does it make any confrontation <br>

</span></div><div style="color:rgb(0,0,191)"><span>with philosophy of development of Petsc. ? </span></div></div></div></blockquote><div><br></div><div>I am not sure you want this. Do you think PCKSP can do what you want? There is not enough information here to help us answer.</div>

<div> </div><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:10pt;font-family:verdana,helvetica,sans-serif"><div style="color:rgb(0,0,191)">2. <br>
</div><div style="color:rgb(0,0,191)">An other advance level feedback is needed. <br></div><div style="color:rgb(0,0,191)"> Re-implementing PCMG function {<span> mg.c </span>} will lead any violation of philosophy of Petsc-development ??</div>

</div></div></blockquote><div><br></div><div>Again, there is not enough information. Can you do what you want by just replacing the monitors?</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div>

 </div><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-size:10pt;font-family:verdana,helvetica,sans-serif"><div style="color:rgb(0,0,191)">3. <br>
</div><div style="color:rgb(0,0,191)">Which one of the above both is more elegant and feasible to work on ? <br></div><div style="color:rgb(0,0,191)"><br></div><div style="color:rgb(0,0,191)"><br></div><div style="color:rgb(0,0,191)">

Thanking in anticipation, </div><span><font color="#888888"><div><span style="color:rgb(0,0,191)">Abdul </span><br><span></span></div><div><br><span></span></div><div><span><br></span></div><div><span style="color:rgb(0,0,255)"><span style="font-family:verdana,helvetica,sans-serif"><span style="font-family:lucida console,sans-serif"></span></span></span><span style="color:rgb(0,0,255)"><span style="font-family:verdana,helvetica,sans-serif"></span></span></div>

</font></span></div></div></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<br>
</div><br><br> </div> </div> </blockquote></div>   </div></div></div><br><br> </div> </div>  </div></div></blockquote></div><br>