[petsc-users] Incorrect Eigenvalues when Setting KSP and PC types

Hong hzhang at mcs.anl.gov
Thu Sep 21 17:39:27 CDT 2017


Greg:

> OK, the difference is whether LU or Cholesky factorization is used. But I
> would hope that neither one should give incorrect eigenvalues, and when I
> run with the latter it does!
>
Are your matrices symmetric/Hermitian?
Hong

>
> On Thu, Sep 21, 2017 at 2:05 PM Hong <hzhang at mcs.anl.gov> wrote:
>
>> Gregory :
>> Use '-eps_view' for both runs to check the algorithms being used.
>> Hong
>>
>> Hi all,
>>>
>>> I'm using shift-invert with EPS to solve for eigenvalues. I find that if
>>> I do only
>>>
>>> ...
>>>   ierr = EPSGetST(eps,&st);CHKERRQ(ierr);
>>>   ierr = STSetType(st,STSINVERT);CHKERRQ(ierr);
>>> ...
>>>
>>> in my code I get correct eigenvalues. But if I do
>>>
>>> ...
>>>   ierr = EPSGetST(eps,&st);CHKERRQ(ierr);
>>>   ierr = STSetType(st,STSINVERT);CHKERRQ(ierr);
>>>   ierr = STGetKSP(st,&ksp);CHKERRQ(ierr);
>>>   ierr = KSPGetPC(ksp,&pc);CHKERRQ(ierr);
>>>   ierr = KSPSetType(ksp,KSPPREONLY);CHKERRQ(ierr);
>>>   ierr = PCSetType(pc,PCCHOLESKY);CHKERRQ(ierr);
>>> ...
>>>
>>> the eigenvalues found by EPS are completely wrong! Somehow I thought I
>>> was supposed to do the latter, from the examples etc, but I guess that was
>>> not correct? I attach the full piece of test code and a test matrix.
>>>
>>> Best,
>>> Greg
>>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170921/d23bd488/attachment.html>


More information about the petsc-users mailing list