The matrices are not in a format that I can easily load. Anyway, I see that you are using "smallest magnitude", which will give bad convergence in most cases. It is specially not recommended in generalized eigenproblems: instead of smallest eigenvalues of (M0,M1) you should compute largest eigenvalues of (M1,M0), and evaluate the reciprocals of the eigenvalues. Alternatively, use shift-and-invert to compute eigenvalues of (M0,M1) closest to the target sigma=0. If M0 is singular, then use a small nonzero value for sigma.
Jose > El 7 sept 2018, a las 8:44, Manav Bhatia <[email protected]> escribió: > > Hi, > > I am attempting to compute the eigenvalues of the generalized nonhermitian > eigenproblem > > M1 x = lambda M0 x > > M1 and M0 are in the attached text files. The solver is unable to converge > with 300 iterations. I have played around with the max it (as high as 1500) > and it still is unable to converge. > > What would be the best way to work around this issue? > > I would appreciate your help. > > Thanks, > Manav > > <M0.txt> > <M1.txt> > > > EPS Object: 1 MPI processes > type: krylovschur > 50% of basis vectors kept after restart > using the locking variant > problem type: generalized non-symmetric eigenvalue problem > selected portion of the spectrum: smallest eigenvalues in magnitude > number of eigenvalues (nev): 10 > number of column vectors (ncv): 50 > maximum dimension of projected problem (mpd): 50 > maximum number of iterations: 300 > tolerance: 1e-08 > convergence test: relative to the eigenvalue > BV Object: 1 MPI processes > type: svec > 51 columns of global length 178 > vector orthogonalization method: classical Gram-Schmidt > orthogonalization refinement: if needed (eta: 0.7071) > block orthogonalization method: GS > doing matmult as a single matrix-matrix product > DS Object: 1 MPI processes > type: nhep > ST Object: 1 MPI processes > type: shift > shift: 0. > number of matrices: 2 > all matrices have different nonzero pattern > KSP Object: (st_) 1 MPI processes > type: preonly > maximum iterations=10000, initial guess is zero > tolerances: relative=1e-08, absolute=1e-50, divergence=10000. > left preconditioning > using NONE norm type for convergence test > PC Object: (st_) 1 MPI processes > type: lu > out-of-place factorization > tolerance for zero pivot 2.22045e-14 > matrix ordering: nd > factor fill ratio given 0., needed 0. > Factored matrix follows: > Mat Object: 1 MPI processes > type: seqdense > rows=178, cols=178 > package used to perform factorization: petsc > total: nonzeros=31684, allocated nonzeros=31684 > total number of mallocs used during MatSetValues calls =0 > linear system matrix = precond matrix: > Mat Object: 1 MPI processes > type: seqdense > rows=178, cols=178 > total: nonzeros=31684, allocated nonzeros=31684 > total number of mallocs used during MatSetValues calls =0 > Linear eigensolve did not converge due to DIVERGED_ITS; iterations 300
