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 >
