[petsc-dev] Golub-Kahan bidiagonalization

Matthew Knepley knepley at gmail.com
Mon Dec 18 07:03:21 CST 2017


On Mon, Dec 18, 2017 at 7:42 AM, Karin&NiKo <niko.karin at 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/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20171218/a62abc61/attachment.html>


More information about the petsc-dev mailing list