[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