[petsc-dev] Problem with SLEPC Eigenvalue Problem Solver

Jose E. Roman jroman at dsic.upv.es
Tue Oct 22 07:56:59 CDT 2013


El 22/10/2013, a las 14:39, Ricardo Marquez escribió:

> Hi, I'm trying to solve a vibration generalized eigenvalue problem like this:
> 
> |  K    C |  =  lambda* | M  0 |
> | C^t   0 |                    | 0  0 |
> 
> I have try a lot of convinations eigensolvers, KSP and PC, but I can't make that it works.
> I use the ST shift-and-invert to get the firsts 5 eigenvalues.
> If I use PC or ST_PC = LU or CHOLESKY, I get the zero pivot message error.
> If I use PC and ST_PC = NONE, the 5 eigenvalues that find the solver are exactly the same and equal to the shift value.
> If I use PC = jacobi or bjacobi, the eigenvalues get a very big value.  
> 
> Does anyone knows how this kind of problem solve?
> 
> thanks!
> -- 
> Ricardo Márquez


If C has a relatively small number of columns, you may consider formulating the problem as a constrained eigenproblem

   K x = lambda M x,  with  C^t x = 0

Try representing C as a Vec array and passing them to EPSSetDeflationSpace() before EPSSolve().

Jose




More information about the petsc-dev mailing list