<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">http://epubs.siam.org/doi/pdf/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><br></div><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>