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
