-ksp_chebyshev_eigenvalues <emin,emax> | - set approximations to the smallest and largest eigenvalues of the preconditioned operator. If these are accurate you will get much faster convergence. | |
-ksp_chebyshev_esteig <a,b,c,d> | - estimate eigenvalues using a Krylov method, then use this transform for Chebyshev eigenvalue bounds (KSPChebyshevEstEigSet()) | |
-ksp_chebyshev_esteig_steps | - number of estimation steps | |
-ksp_chebyshev_esteig_noisy | - use noisy number generator to create right hand side for eigenvalue estimator |
Notes: The Chebyshev method requires both the matrix and preconditioner to be symmetric positive (semi) definite. Only support for left preconditioning.
Chebyshev is configured as a smoother by default, targetting the "upper" part of the spectrum. The user should call KSPChebyshevSetEigenvalues() if they have eigenvalue estimates.