> El 29 mar 2017, a las 9:08, Toon Weyens <[email protected]> escribió:
> 
> I started looking for alternatives from the standard Krylov-Schur method to 
> solve the generalized eigenvalue problem Ax = kBx in my code. These matrices 
> have a block-band structure (typically 5, 7 or 9 blocks wide, with block 
> sizes of the order 20) of size typically 1000 blocks. This eigenvalue problem 
> results from the minimization of the energy of a perturbed plasma-vacuum 
> system in order to investigate its stability. So far, I've not taken 
> advantage of the Hermiticity of the problem.
> 
> For "easier" problems, especially the Generalized Davidson method converges 
> like lightning, sometimes up to 100 times faster than Krylov-Schur. 
> 
> However, for slightly more complicated problems, GD converges to the wrong 
> eigenpair: There is certainly an eigenpair with an eigenvalue lower than 0 
> (i.e. unstable), but the solver never gets below some small, positive value, 
> to which it wrongly converges.

I would need to know the settings you are using. Are you doing smallest_real? 
Maybe you can try target_magnitude with harmonic extraction.

> 
> Is it possible to improve this behavior? I tried changing the preconditioner, 
> but it did not work.
> 
> Might it be possible to use Krylov-Schur until reaching some precision, and 
> then switching to JD to quickly converge?

Yes, you can do this, using EPSSetInitialSpace() in the second solve. But, 
depending on the settings, this may not buy you much.

Jose

> 
> Thanks!


Reply via email to