On Mon, Dec 18, 2017 at 7:42 AM, Karin&NiKo <niko.ka...@gmail.com> wrote:
> Dear PETSc team, > > I would like to implement and possibly commit to PETSc the Golub-Kahan > bidiagonalization algorithm (GK) describe in Arioli's paper : > http://epubs.siam.org/doi/pdf/10.1137/120866543. > 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). > > 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? > That was my first idea. From quickly looking at the paper, it looks like you need an auxiliary matrix N which does not come from the decomposition, so you will have to attach it to something, like we do for LSC, or demand that it come in as the (1,1) block of the preconditioning matrix which is a little hacky as well. Thanks, Matt > I look forward to hearing your opinion on the best design for implementing > this algorithm in PETSc. > > Regards, > Nicolas > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.caam.rice.edu/~mk51/>