[petsc-users] SLEPc generalized eigenvalue problem question?

Jose E. Roman jroman at dsic.upv.es
Mon Aug 1 12:46:56 CDT 2011


El 01/08/2011, a las 19:27, John Chludzinski escribió:

> I create 2 matrices using:
> 
> MatCreateSeqDense(PETSC_COMM_SELF, n, n, Ka, &A);
> MatCreateSeqDense(PETSC_COMM_SELF, n, n, Kb, &B);
> 
> These matrices are 99% zeros ( 16,016,004 entries and 18660 non-zeros).  They are symmetric and real.  Their tri-diagonal elements are non-zero plus a few other entries.
> 
> I tried to use ex7 for the generalized eigenvalue problem:
> 
> ./ex7.exe -f1 k.dat -f2 m.dat -eps_gen_hermitian -eps_smallest_real > x.out 2>&1
> 
> without specifying an EPS and get:
> 
> Generalized eigenproblem stored in file.
> 
> Reading REAL matrices from binary files...
> Number of iterations of the method: 500
> Number of linear iterations of the method: 4009
> Solution method: krylovschur
> 
> Number of requested eigenvalues: 1
> Stopping condition: tol=1e-07, maxit=500
> Number of converged approximate eigenpairs: 0
> 
> Is krylovschur inappropriate for this problem or have I set up the problem incorrectly by using   MatCreateSeqDense(...) to create the matrix input files in PETSc binary form?
> 
> ---John 


The solver has reached the maximum number of iterations. Do you want to compute the leftmost part of the spectrum? Are those eigenvalues (relatively) large in magnitude? I guess not. If you need the smallest eigenvalues, instead of computing the smallest eigenvalues of (K,M) try computing the largest eigenvalues of (M,K) and then compute the reciprocals. Also, have a look at the chapter on spectral transformations.

And of course do not use dense matrices, as pointed out by Matt.

Jose



More information about the petsc-users mailing list