[petsc-users] Non-hermitian KSP

Bikash Kanungo bikash at umich.edu
Mon Feb 20 19:35:48 CST 2017


Thank you so much, Matthew.

On Feb 20, 2017 8:10 AM, "Matthew Knepley" <knepley at gmail.com> wrote:

> On Mon, Feb 20, 2017 at 7:01 AM, Bikash Kanungo <bikash at umich.edu> wrote:
>
>> Hi,
>>
>>
>> I'm trying to solve a KSP using GMRES in which the matrix (say, A) is
>> non-hermitian. I'm using a shell matrix for A.
>>
>> In this context I have the following few questions:
>>
>>
>>    1. I guess one needs to provide appropriate user-defined function
>>    override for MatMultHermitianTranspose instead of MatMultTranspose (i.e.,
>>    MATOP_MULT_TRANSPOSE). However, I am unable to find any
>>    MATOP_MULT_HERMITIAN_TRANSPOSE flag. So if GMRES expects
>>    MatlMultHermitianTranspose then should I override the MatMultTranspose in a
>>    way to actually perform MatMultHermitianTranspose? Or am I mistaken in my
>>    assumption that GMRES requires MatMultHermitianTranspose instead of
>>    MatMultTranspose?
>>
>> GMRES does not use the transpose at all.
>
>>
>>    1. For the same problem, I want to provide my own preconditioner
>>    matrix (say, P) as a shell a matrix. What operations (e.g., MATOP_MULT,
>>    MATOP_MULT_TRANSPOSE etc.) should I override through user-defined
>>    functions?
>>
>> A user -defined preconditioner should be implemented using PCSHELL, which
> is much more straightforward than MATSHELL.
>
>   Thanks,
>
>      Matt
>
>
>> Thanks,
>> Bikash
>>
>> --
>> Bikash S. Kanungo
>> PhD Student
>> Computational Materials Physics Group
>> Mechanical Engineering
>> University of Michigan
>>
>>
>
>
> --
> 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-users/attachments/20170220/923362c6/attachment.html>


More information about the petsc-users mailing list