[petsc-dev] Right-preconditioned GMRES

Matthew Knepley knepley at gmail.com
Thu Feb 9 07:56:59 CST 2017


On Thu, Feb 9, 2017 at 7:48 AM, Pierre Jolivet <pierre.jolivet at enseeiht.fr>
wrote:

> On Feb 9, 2017, at 2:31 PM, Matthew Knepley <knepley at gmail.com> wrote:
>
> On Thu, Feb 9, 2017 at 7:29 AM, Pierre Jolivet <pierre.jolivet at enseeiht.fr
> > wrote:
>
>>
>> On Feb 9, 2017, at 2:17 PM, Matthew Knepley <knepley at gmail.com> wrote:
>>
>> On Thu, Feb 9, 2017 at 7:06 AM, Pierre Jolivet <pierre.jolivet at enseei
>> ht.fr> wrote:
>>
>>>
>>> On Feb 9, 2017, at 1:37 PM, Matthew Knepley <knepley at gmail.com> wrote:
>>>
>>> On Thu, Feb 9, 2017 at 4:56 AM, Pierre Jolivet <pierre.jolivet at enseei
>>> ht.fr> wrote:
>>>
>>>> Hello,
>>>> I _might_ be doing something wrong when calling
>>>> KSPSetFromOptions/KSPSetUp, but still, am I supposed to get this kind of
>>>> error?
>>>> [0]PETSC ERROR: No support for this operation for this object type
>>>> [0]PETSC ERROR: KSP gmres does not support PRECONDITIONED with RIGHT
>>>>
>>>> If not, I’ll try to send a MWE (it basically depends on where I set the
>>>> option -ksp_pc_side right).
>>>>
>>>
>>> I believe its telling you that it cannot display the preconditioned
>>> residual with right preconditioning, which is true.
>>> Are you requesting both?
>>>
>>>
>>> No, I’m just using -ksp_view and -ksp_pc_side right. In the “standard”
>>> case, it obviously work.
>>> However, the error is triggered if I set -ksp_pc_side right after a
>>> first call to KSPSetOperators()/KSPSetUp() without destroying the KSP.
>>> Should I destroy my KSP before changing from left- (default) to
>>> right-preconditioning if KSPSetOperators()/KSPSetUp has already been called?
>>>
>>
>> Its likely you have to use
>>
>>   http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpage
>> s/KSP/KSPSetNormType.html
>>
>> or
>>
>>   *-ksp_norm_type unpreconditioned*
>>
>>
>> If I use this after my first call to KSPSetUp, I now end up with:
>> [0]PETSC ERROR: KSP gmres does not support UNPRECONDITIONED with LEFT
>>
>
> Yes, you would need to use it at the same time that you change the
> preconditioning side.
>
>
> Yes, I’m using PetscOptionsInsert, and whether I let PETSc parse
> "-ksp_pc_side right -ksp_norm_type unpreconditioned” or "-ksp_norm_type
> unpreconditioned -ksp_pc_side right” I end up with the same error
> afterwards.
>

Can you make an example do it (SNES ex5)? Or can you send a small example
that does it?

  Thanks,

    Matt


> Thanks.
>
>   Thanks,
>
>      Matt
>
>> since we would not have a chance to change it since its been set already.
>>
>>   Thanks,
>>
>>      Matt
>>
>> Thanks.
>>>
>>>   Thanks,
>>>
>>>      Matt
>>>
>>>
>>>> Thanks,
>>>> Pierre
>>>
>>>
>>>
>>>
>>> --
>>> 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
>>>
>>>
>>>
>>
>>
>> --
>> 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
>>
>>
>>
>
>
> --
> 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
>
>
>


-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20170209/bee99999/attachment.html>


More information about the petsc-dev mailing list