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!

On Thu, Sep 21, 2017 at 2:05 PM Hong <[email protected]> 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
>>
>
>

Reply via email to