<div dir="ltr"><div>The N matrix is not mandatory ; in some case, it can be usefull to accelerate the convergence.</div><div>So you confirm we should look at a fieldsplit implementation with a new -pc_fieldsplit_type gk?</div><div><br></div><div>Thanks,</div><div>Nicolas</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-12-18 14:03 GMT+01:00 Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span>:<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"><div class="gmail_quote"><span>On Mon, Dec 18, 2017 at 7:42 AM, Karin&NiKo <span dir="ltr"><<a href="mailto:niko.karin@gmail.com" target="_blank">niko.karin@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" 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"><div dir="ltr"><div>Dear PETSc team,</div><div><br></div><div>I would like to implement and possibly commit to PETSc the Golub-Kahan bidiagonalization algorithm (GK) describe in Arioli's paper : <a href="http://epubs.siam.org/doi/pdf/10.1137/120866543" target="_blank">http://epubs.siam.org/doi/pdf/<wbr>10.1137/120866543</a>.</div><div>In this work, Mario Arioli uses GK to solve saddle point problems, of the form A=[A00, A01; A10, A11]. There is an outer-loop which treats the constraints and an inner-loop, with its own KSP, to solve the linear systems with A00 as operator. We have evaluated this algorithm on different problems and have found that it exhibits very nice convergence of the outer-loop (independant of the problem size).</div><div><br></div><div>In order to developp a source that could be commited to PETSc, I would like to have your opinion on how to implement it. Since the algorithm treats saddle point problems, it seems to me that it should be implemented in the fieldsplit framework. Should we add for instance a new -pc_fieldsplit_type, say gk? Have you other ideas?</div></div></blockquote><div><br></div></span><div>That was my first idea. From quickly looking at the paper, it looks like you need an auxiliary matrix N which</div><div>does not come from the decomposition, so you will have to attach it to something, like we do for LSC, or</div><div>demand that it come in as the (1,1) block of the preconditioning matrix which is a little hacky as well.</div><div><br></div><div> Thanks,</div><div><br></div><div> Matt</div><span><div> </div><blockquote class="gmail_quote" 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"><div dir="ltr"><div>I look forward to hearing your opinion on the best design for implementing this algorithm in PETSc.</div><div><br></div><div>Regards,</div><div>Nicolas</div></div>
</blockquote></span></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div class="m_342410966296278151gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>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><br></div><div><a href="http://www.caam.rice.edu/~mk51/" target="_blank">https://www.cse.buffalo.edu/~<wbr>knepley/</a><br></div></div></div></div></div>
</font></span></div></div>
</blockquote></div><br></div>