:orphan: # KSPCHEBYSHEV The preconditioned Chebyshev iterative method ## Options Database Keys - ***-ksp_chebyshev_eigenvalues -*** 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 -*** 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, but it can work as a smoother in other situations Only support for left preconditioning. Chebyshev is configured as a smoother by default, targeting the "upper" part of the spectrum. The user should call `KSPChebyshevSetEigenvalues()` to get eigenvalue estimates. ## See Also [](ch_ksp), `KSPCreate()`, `KSPSetType()`, `KSPType`, `KSP`, `KSPChebyshevSetEigenvalues()`, `KSPChebyshevEstEigSet()`, `KSPChebyshevEstEigSetUseNoisy()` `KSPRICHARDSON`, `KSPCG`, `PCMG` ## Level beginner ## Location src/ksp/ksp/impls/cheby/cheby.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/ksp/impls/cheby/cheby.c) [Index of all KSP routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)