<div dir="ltr"><div>Dear PETSc team,<br>
<br>
During my phd thesis, I have worked on solving sequences of linear<br>
systems with slowly varying matrices using GMRES(restart). In<br>
particular, I have developed a preconditioning technique to improve<br>
the action of an existing "first-level preconditioner". This new<br>
method is usually applied as right preconditioner with a PCShell, although the first preconditioner is applied on the left. <br><br>That is why I have developed routines in PETSc to be able to apply simultaneously a left and a right PCShells when we use a PC_SYMMETRIC PCSIDE. In fact, I have add two routines: PCShellSetApplySymmetricLeft and PCShellSetApplySymmetricRight (similarly to the routine PCShellSetApply).<br>
<br></div>Moreover, I have added the possibility to use a PC_SYMMETRIC preconditioner within GMRES.<br><div>
<br>I gently request your position on the integration of these developments in PETSc. I have some problems to provide a pull-request via a fork so I propose a patch. Let me know if you want extra integration work.<br><br>Best regards,<br>Sylvain.<span style="font-size:11pt;font-family:"Calibri","sans-serif";color:rgb(31,73,125)" lang="EN-US"> </span><br></div></div>