:orphan:
# PCH2OPUS
"h2opus" - A preconditioner type for, `MATH2OPUS`, hierarchical matrices using the H2Opus package.
## Options Database Keys
- ***-pc_type h2opus -*** pc type to "h2opus" during a call to `PCSetFromOptions()`
- ***-pc_h2opus_maxits -*** maximum number of iterations for Newton-Schultz
- ***-pc_h2opus_monitor -*** monitor Newton-Schultz convergence
- ***-pc_h2opus_atol -*** absolute tolerance
- ***-pc_h2opus_rtol -*** relative tolerance
- ***-pc_h2opus_norm_type -*** normtype
- ***-pc_h2opus_hyperorder -*** Hyper power order of sampling
- ***-pc_h2opus_leafsize -*** leaf size when constructed from kernel
- ***-pc_h2opus_eta -*** admissibility condition tolerance
- ***-pc_h2opus_maxrank -*** maximum rank when constructed from matvecs
- ***-pc_h2opus_samples -*** number of samples to be taken concurrently when constructing from matvecs
- ***-pc_h2opus_mrtol -*** relative tolerance for construction from sampling
- ***-pc_h2opus_forcecpu -*** force construction of preconditioner on CPU
## See Also
`MATH2OPUS`, `MATHTOOL`, `MATDENSE`, `MatCreateH2OpusFromKernel()`, `MatCreateH2OpusFromMat()`
## Level
intermediate
## Location
src/ksp/pc/impls/h2opus/pch2opus.c
## Examples
src/ksp/ksp/tutorials/ex21.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/pc/impls/h2opus/pch2opus.c)
[Index of all PC routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)