[petsc-users] KrylovSchur solver diverges when setting EPS_GHEP

Denis Davydov davydden at gmail.com
Fri Nov 7 08:10:06 CST 2014


Dear all, 

I was trying to set the problem type to EPS_GHEP as 
the matrices in the considered generalised eigenvalue problem are real and symmetric. 
However, this breaks the solver's convergence as compared to the default, non-symmetric case. 
The residual is quite small (~1e-9). I am puzzled why this happens.

The output with -eps_view -esp_monitor_all flags is below.

Thank you in advance for any advices on the issue.

Kind regards,
Denis 

===
EPS Object: 1 MPI processes
  type: krylovschur
    Krylov-Schur: 50% of basis vectors kept after restart
  problem type: generalized symmetric eigenvalue problem
  selected portion of the spectrum: smallest real parts
  number of eigenvalues (nev): 5
  number of column vectors (ncv): 20
  maximum dimension of projected problem (mpd): 20
  maximum number of iterations: 1089
  tolerance: 1e-09
  convergence test: absolute
BV Object: 1 MPI processes
  type: svec
  21 columns of global length 1089
  orthogonalization method: classical Gram-Schmidt
  orthogonalization refinement: if needed (eta: 0.7071)
  non-standard inner product
  Mat Object:   1 MPI processes
    type: seqaij
    rows=1089, cols=1089
    total: nonzeros=8409, allocated nonzeros=20691
    total number of mallocs used during MatSetValues calls =0
      not using I-node routines
DS Object: 1 MPI processes
  type: hep
  solving the problem with: Implicit QR method (_steqr)
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: redundant
      Redundant preconditioner: First (color=0) of 1 PCs follows
      KSP Object:      (st_redundant_)       1 MPI processes
        type: preonly
        maximum iterations=10000, initial guess is zero
        tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
        left preconditioning
        using NONE norm type for convergence test
      PC Object:      (st_redundant_)       1 MPI processes
        type: lu
          LU: out-of-place factorization
          tolerance for zero pivot 2.22045e-14
          matrix ordering: nd
          factor fill ratio given 5, needed 4.41539
            Factored matrix follows:
              Mat Object:               1 MPI processes
                type: seqaij
                rows=1089, cols=1089
                package used to perform factorization: petsc
                total: nonzeros=37129, allocated nonzeros=37129
                total number of mallocs used during MatSetValues calls =0
                  not using I-node routines
        linear system matrix = precond matrix:
        Mat Object:         1 MPI processes
          type: seqaij
          rows=1089, cols=1089
          total: nonzeros=8409, allocated nonzeros=20691
          total number of mallocs used during MatSetValues calls =0
            not using I-node routines
    linear system matrix = precond matrix:
    Mat Object:     1 MPI processes
      type: seqaij
      rows=1089, cols=1089
      total: nonzeros=8409, allocated nonzeros=20691
      total number of mallocs used during MatSetValues calls =0
        not using I-node routines



More information about the petsc-users mailing list