[petsc-dev] Golub-Kahan bidiagonalization

Matthew Knepley knepley at gmail.com
Mon Dec 18 10:36:15 CST 2017


On Mon, Dec 18, 2017 at 11:32 AM, Karin&NiKo <niko.karin at gmail.com> wrote:

> The N matrix is not mandatory ; in some case, it can be usefull to
> accelerate the convergence.
> So you confirm we should look at a fieldsplit implementation with a new
> -pc_fieldsplit_type gk?
>

Yes, right now that is how we are structuring it. You could imagine that we
break it down further, so
that all the block solvers are separate KSP and just require a
PCFIELDSPLIT, but that seems like
overkill to me.

  Thanks,

     Matt


> Thanks,
> Nicolas
>
> 2017-12-18 14:03 GMT+01:00 Matthew Knepley <knepley at gmail.com>:
>
>> 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/>
>>
>
>


-- 
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/fca474d3/attachment.html>


More information about the petsc-dev mailing list