[petsc-users] Non-hermitian KSP

Matthew Knepley knepley at gmail.com
Mon Feb 20 07:10:33 CST 2017


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


More information about the petsc-users mailing list