# KSPCHEBYSHEV
The preconditioned Chebyshev iterative method 
## Options Database Keys

- ***-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, 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
 [](chapter_ksp), `KSPCreate()`, `KSPSetType()`, `KSPType`, `KSP`,
`KSPChebyshevSetEigenvalues()`, `KSPChebyshevEstEigSet()`, `KSPChebyshevEstEigSetUseNoisy()`
`KSPRICHARDSON`, `KSPCG`, `PCMG`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/impls/cheby/cheby.c.html#KSPCHEBYSHEV">src/ksp/ksp/impls/cheby/cheby.c</A>


---
[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](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
